I have a controller ItemsController
that has an instance method GetRecent()
which returns IQueryable<Item>
In the index page of my application I want to render a partial view _Recent.cshtml
using the results from ItemsController.GetRecent()
To do this, I've written the following in my Index.cshtml
I've added namespace references to the ~/Views/web.config so I don't need to write out the controllers full namespace
@{
ViewBag.ItemsController = new ItemsController();
}
...
@Html.Partial("~/Views/Items/_Recent.cshtml",
((ItemsController)ViewBag.ItemsController).GetRecentItems())
I thought of passing new ItemsController().GetRecentItems()
directly or turning GetRecentItems()
into a static method however I'm not sure what direction this should take.
I want to know if this is an accepted way of building a partial view from a controller and if not, how can this be accomplished more efficiently?