我有一个控制器,它有一个返回ItemsController
的实例方法GetRecent()
IQueryable<Item>
在我的应用程序的索引页面中,我想_Recent.cshtml
使用来自的结果呈现部分视图ItemsController.GetRecent()
为此,我在 Index.cshtml 中编写了以下内容
我添加了对 ~/Views/web.config 的命名空间引用,所以我不需要写出控制器的完整命名空间
@{
ViewBag.ItemsController = new ItemsController();
}
...
@Html.Partial("~/Views/Items/_Recent.cshtml",
((ItemsController)ViewBag.ItemsController).GetRecentItems())
我想过new ItemsController().GetRecentItems()
直接传递或GetRecentItems()
变成静态方法,但是我不确定这应该采取什么方向。
我想知道这是否是从控制器构建部分视图的公认方式,如果不是,如何更有效地完成?