【发布时间】:2013-03-30 08:15:33
【问题描述】:
我有一个控制器ItemsController,它有一个实例方法GetRecent(),它返回IQueryable<Item>
在我的应用程序的索引页面中,我想使用来自 ItemsController.GetRecent() 的结果呈现部分视图 _Recent.cshtml
为此,我在我的 Index.cshtml 中编写了以下内容
我已经添加了对 ~/Views/web.config 的命名空间引用,所以我不需要写出控制器的完整命名空间
@{
ViewBag.ItemsController = new ItemsController();
}
...
@Html.Partial("~/Views/Items/_Recent.cshtml",
((ItemsController)ViewBag.ItemsController).GetRecentItems())
我想过直接传递new ItemsController().GetRecentItems() 或将GetRecentItems() 转换为静态方法,但我不确定这应该采取什么方向。
我想知道这是否是从控制器构建局部视图的公认方式,如果不是,如何更有效地完成?
【问题讨论】:
标签: c# razor asp.net-mvc-4