在一个小型网站上工作以熟悉MS MVC框架,我有一个部分视图“浏览”,我使用这个在“索引”视图中呈现:
@Html.Partial("Browse")
这里的问题是部分“浏览”视图需要一个对象集合作为模型,它在名为“Products”的Controller的“浏览”功能中初始化,所以除非我调用控制器的Browse方法,我的视图将始终具有空集合。
是否可以在渲染局部视图之前初始化集合?
答案 0 :(得分:1)
有几个选项,选择哪一个,真的取决于你想要的"浏览"功能可以重复使用。
首先,通过"浏览"来自Index
模型的集合模型(可能是更优选的选项)
@Html.Partial("Browse", model.BrowsePartialModel)
第二个选项,使用ChildAction
[ChildActionOnly]
public ActionResult Browse()
{
// instatiate BrowseViewModel with appropriate route values etc
var model = new BrowseViewModel();
return View(model);
}
然后从Index
视图
@Html.Action("Browse")