2011-02-24 46 views
2

我想實現我的MVC 3點的2級父/子菜單,如MVC 3渲染2級菜單管窺

Company 
- Background 
- Contact 

我實現了一個單一的,父級菜單像這樣一個PartialView ...

<div id="menu" class="block"> 
    <ul id="menuItems"> 
     foreach (var item in Model) 
     { 
     <li id="@item.Id">@Html.ActionLink(item.Name, item.Action,item.Controller)</li> 
     } 
    </ul> 
</div> 

,然後包括它在我的母版...

@{Html.RenderAction("MainMenu", "Menu");} 

的問題是,我想仁基於在父級別選擇的菜單項目來執行第二個子菜單。這涉及將父代的Id傳遞給返回菜單模型的控制器操作。我不知道我可以如何將這個父母身份傳遞給控制器​​操作。任何人都可以提供任何見解嗎?我正在使用MVC3 & Razor。

回答

0

看起來像你使用剃刀,雖然我不是很熟悉,我會對它進行一次嘗試。基本上,你要傳遞一個具有「id」屬性的新對象到MainMenu視圖。這將創建另一個菜單。您的MainMenu操作應採用id的可選參數。

public ActionResult MainMenu(int? id = null) { 
    ... 
} 

這是您的新列表項目的樣子。

<li id="@item.Id">@Html.ActionLink(item.Name, item.Action,item.Controller) 

@{Html.RenderAction("MainMenu", "Menu", new { id = item.Id });} 

</li>