【问题标题】:Error when rendering a Partial View渲染局部视图时出错
【发布时间】:2014-03-16 20:07:17
【问题描述】:

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

@Html.Partial("Browse")

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

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

【问题讨论】:

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


【解决方案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")

【讨论】:

  • 认为我会坚持第一个选项,一旦我了解了基本的东西,视图模型就是我的下一个目标。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多