我有.net mvc3網站。我必須實現頂級菜單。每個菜單標籤是導致他的動作並顯示另一個view.This我現在有:Mvc3執行自定義操作鏈接
<ul id="menu">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("Products", "Products", "Home")</li>
<li>@Html.ActionLink("Pricing", "Pricing", "Home")</li>
<li>@Html.ActionLink("Our Team", "OurTeam", "Home")</li>
<li>@Html.ActionLink("Contact Us", "ContactUs", "Home")</li>
</ul><!-- /menu -->
這個觀點是我的佈局Html.RenderAction("Header", "Home");
(因爲它必須出現在所有頁面) 我需要實現自定義ActionLink。錨文本必須是:
<span>text</span><b>text</b>
「文本」是家庭(例如第一里的) 而目前的ActionLink必須添加類:「選定」的主播。
我該怎麼做?請幫助
p.s 我可以添加此菜單爲我的網站中的每個視圖與「選定」類當前視圖,但這不是很好的解決方案。
這是很好的解決方案。但我的菜單是局部視圖,並從佈局調用。所以HttpContext.Current.Request.RequestContext.RouteData.Values [「action」]。ToString()將始終返回此部分的名稱,並且此名稱將永遠不會與當前操作名稱匹配。 – 2012-01-29 10:07:17
調用類似於@ Html.Action( 「MainMenu」,「菜單」)。比你做的邏輯和準備在控制器的視圖 – Iridio 2012-01-29 10:08:45
我的錯誤我用var currentAction = htmlHelper.ViewContext.RouteData。GetRequiredString(「action」)而不是HttpContext.Current.Request.RequestContext.RouteData.Values [「action」]。ToString()。現在是工作。謝謝 – 2012-01-29 10:17:35