我是MVC的新手,我希望根据数据库表在主要布局(母版页)上放置一个链接列表。我确定我之前读过你不应该尝试在母版页上加载模型,而是使用部分视图(如果我错了,请纠正我)。
我在谷歌和其他问题上看了一下,但他们似乎只是谈论通过ViewBag将数据从主视图传递到局部视图,但我想我只想添加一个部分视图,我可以添加到母版页。
有人可以告诉我如何创建我可以添加到母版页的部分视图,以便在每个页面上使用它并且能够加载所需的链接列表,即将IEnumerable模型绑定到Partial View?
答案 0 :(得分:3)
尝试使用ChildActionExtensions.Action
在你的布局中:
@Html.Action("MyAction", "MyController")
控制器:
public ActionResult MyAction()
{
var list = // get your list values
return PartialView("MyViewName", list);
}
然后只需创建局部视图:
@model IEnumerable<WhateverType>
@* View goodness *@
您可以使用它来绑定部分视图所需的任何模型,如果在Layout.cshtml中使用Action
帮助器,它将在每个页面上呈现。