渲染部分视图时出错

时间:2014-03-16 20:07:18

标签: asp.net-mvc asp.net-mvc-4 view model controller

在一个小型网站上工作以熟悉MS MVC框架,我有一个部分视图“浏览”,我使用这个在“索引”视图中呈现:

@Html.Partial("Browse")

这里的问题是部分“浏览”视图需要一个对象集合作为模型,它在名为“Products”的Controller的“浏览”功能中初始化,所以除非我调用控制器的Browse方法,我的视图将始终具有空集合。

是否可以在渲染局部视图之前初始化集合?

1 个答案:

答案 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")