【发布时间】:2011-12-13 10:50:47
【问题描述】:
我正在尝试为共享布局提供一个模型,以便从数据库动态创建菜单链接。我应该从哪里开始有什么想法吗?
我正在寻找有关如何使用继承来做到这一点的教程?
【问题讨论】:
标签: asp.net-mvc inheritance razor
我正在尝试为共享布局提供一个模型,以便从数据库动态创建菜单链接。我应该从哪里开始有什么想法吗?
我正在寻找有关如何使用继承来做到这一点的教程?
【问题讨论】:
标签: asp.net-mvc inheritance razor
你可以这样做:
型号
public partial class Menu
{
public String[] items;
public Menu(String[] items)
{
this.items = items;
}
}
查看(_Menu)
@model YourMVC.Models.Menu
<ul>
@foreach (String item in Model.items)
{
<li>@item</li>
}
</ul>
把它放在_Layout中
@Html.Action("_Menu", "Home")
控制器(HomeController)
public ActionResult _Menu()
{
String[] items = {"Item1", "Item2", "Item3", "Item4"};
return PartialView(new Menu(items));
}
当然,在您的实际实现中,您可以从控制器 _Menu() 操作中的数据库中获取您需要的任何内容。
我不确定这个实现是否是最佳实践,但它确实有效。
【讨论】:
partial 类,并在另一个文件中手动添加了额外的模型代码不会被 ORM 覆盖。