2013-07-15 16 views

回答

0

你應該創建一個強類型的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