2
我曾嘗試在MasterLayout.cshtml如何將動態菜單項從databse放入MasterLayout.cshtml中?
但在創建MasterLayout它不提供選擇模型的選擇就像在普通視圖的時候,執行動態菜單項..
那麼,如何添加動態MasterLayout中的菜單,以便它可以顯示在所有普通視圖中?
我曾嘗試在MasterLayout.cshtml如何將動態菜單項從databse放入MasterLayout.cshtml中?
但在創建MasterLayout它不提供選擇模型的選擇就像在普通視圖的時候,執行動態菜單項..
那麼,如何添加動態MasterLayout中的菜單,以便它可以顯示在所有普通視圖中?
你應該創建一個強類型的PartialView來在MasterLayout上生成菜單dynamicaly。對於爲例:
1)在HomeController中創建一個動作,如ChildAction,防止外部訪問,這將是僅作爲菜單呈現:
[ChildActionOnly]
public ActionResult MainMenu()
{
var menu = /*Populate the menu*/;
return PartialView("_MainMenu", menu);
}
2)創建在瀏覽一個強類型的視圖/共享名爲_MainMenu.cshtml的菜單。你應該通過一個枚舉或其他東西來動態創建它。
3)把線以上的MasterLayout到dinamically渲染菜單:
@{ Html.RenderAction("MainMenu", "Home"); }
有一個很好的例子,一個編輯菜單。我建議你看看有關模型結構的想法:Dynamic Menus in ASP.NET MVC 4。