.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()은이 부분의 이름을 항상 반환 할 것이고,이 이름은 현재 작업 이름과 결코 일치하지 않을 것입니다. –
@ Html.Action과 같은 것을 호출하십시오. "메인 메뉴", "메뉴"). 당신이 논리를 수행하고 컨트롤러에서보기를 준비보다 – Iridio
내 실수로 var currentAction = htmlHelper.ViewContext.RouteData를 사용했습니다.HttpContext.Current.Request.RequestContext.RouteData.Values [ "action"] 대신에 GetRequiredString ("action"). ToString(). 이제 일이야. 감사합니다 –