我用数据库菜单创建了一个mvc应用程序。我想在母版页中第一次加载菜单时渲染菜单。
请帮帮我..
答案 0 :(得分:0)
据我所知,你需要一个菜单,你需要在每个页面上呈现。请按照以下步骤操作:
为菜单项创建控制器操作。如下所示:
[ChildActionOnly]
public ActionResult sampleChildAction() {
var model = _myMenuRepo.GetAll();
return View(model);
}
为此操作创建一个视图。看起来像下面这样:
@{
Layout = null;
}
<ul>
@foreach(var item in Model) {
<li>
<a href="@item.MyHref">@item.MyDesc</a>
</li>
}
</ul>
从您的布局中调用此操作。代码看起来像这样:
<div>
<h3>Menu</h3>
@Html.Action("sampleChildAction",
new { controller = "Sample" }
)
</div>
本文也可以帮助您:
http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx
对于进一步的实现,您可能需要考虑缓存应用程序的这一部分: