我是asp.net mvc的新手。我正在尝试在mvc 3中创建网站。我想从数据库创建动态菜单,该菜单应该在我的网站上可见。我在谷歌搜索它,并在下面找到了从数据库创建动态菜单的代码。但是,当我试图在另一个页面上应用时,它给了我一个错误,即(“值不能为null。参数名称:源。”) 这是菜单控制器的代码。
public class MenuController : Controller
{
MenuEntities MEnt = new MenuEntities();
//[ChildActionOnly]
public ActionResult Menus()
{
var mMenu = MEnt.Menu.ToList();
return View(mMenu);
}
}
这是模型菜单的代码:
[Table("tbl_MVC_Menucontrol")]
public class Menus
{
[Key]
public int MenuId { get; set; }
public string MenuName { get; set; }
public int? MenuParent { get; set; }
public int MenuOrder { get; set; }
public string LinkName { get; set; }
public string ActionName { get; set; }
public string ControllerName { get; set; }
public Int64 MenuActive { get; set; }
}
这是我查看“菜单”的代码
@model IEnumerable<MultilevelMenu.Models.Menus>
<div>
@Html.Raw(@Html.ParentMenus(Model))
</div>
上面给出了表tbl_MVC_Menucontrol中的动态菜单。但我不知道如何在所有其他页面中应用这些菜单。 你能帮帮我.....
答案 0 :(得分:2)
只需在布局上使用html帮助器@Html.RenderAction
:
@{ Html.RenderAction("Menus","Menu"); }
因为我们会为每个视图加载布局,因此您的菜单将针对每个视图进行渲染。