我有以下的導航HTML /代碼現在複製跨幾個意見:如何在ASP MVC3中創建可重用的導航菜單?
<ul class="topNav">
<li class="selected">@Html.ActionLink("Dashboard", "Dashboard", new { id = ViewContext.RouteData.GetRequiredString("id") })</li>
<li>@Html.ActionLink("Stats", "Stats", new { id = ViewContext.RouteData.GetRequiredString("id") })</li>
<li>@Html.ActionLink("Questions", "Questions", new { id = ViewContext.RouteData.GetRequiredString("id") })</li>
<li>@Html.ActionLink("Answers", "Answers", new { id = ViewContext.RouteData.GetRequiredString("id") })</li>
<li>@Html.ActionLink("Contacts", "Contacts", new { id = ViewContext.RouteData.GetRequiredString("id") })</li>
</ul>
當然每個視圖中li
的class="selected"
改變。是否有一種簡單的方法將這段代碼放在部分視圖或佈局視圖中?
此外,我必須真的使用ViewContext.RouteData.GetRequiredString("id")
去控制器的id
參數還是有一個更簡單的方法?
我閱讀了您提供的鏈接或創建自定義HTML助手。這實際上不是你在#2做的事嗎?畢竟,#2是HtmlHelper的擴展方法。那麼#1有什麼不同?你的意思是#1可能是'@ Html.Menu()',它會產生完整的菜單? – parleer
#1意味着它就像@ Html.Menu()正確。您的列表項可以傳遞給此方法。該方法生成html並將其返回給您的視圖。 – dknaack