2013-04-13 1 views
0

에 기초하여 탐색 항목이 활성화 만들기 서브 NAV가페이지

비 컨트롤러 액션 호출
@{Html.RenderAction("SubNav");} 

:

[ChildActionOnly] 
    public ActionResult SubNav() 
    { 
     return PartialView(); 
    } 

이제 페이지를 기반으로 서브 클래스 내 li 클래스에 active을 어떻게 추가하여 선택/활성으로 표시 할 수 있습니까?

+0

내가 마스터 페이지에서 그 일을하고 있지 않다, 나는 u는 질문을 읽어 already.did 그 질문을보고? – DarthVader

답변

1

작업 이름을 사용할 수 있습니다. 런타임에 액션 이름을 찾고, 모델 또는 ViewBag에서 볼 수 있도록 액션 이름을 전달하십시오. 보기

[ChildActionOnly] 
    public ActionResult SubNav() 
    { 
      var rd = Request.RequestContext.RouteData; 
      string currentAction = rd.GetRequiredString("action"); 
      string currentController = rd.GetRequiredString("controller"); 
      string currentArea = rd.Values["area"] as string; 
      ViewBag.ActionName = currentAction; 
      return PartialView(); 
    } 

:

<div class="well sidebar-nav span3"> 
    <ul class="nav nav-list bs-docs-sidenav"> 
     <li><a href="/bio"><i class="icon-chevron-right @(ViewBag.ActionName == "bio" ? "ActiveClass" : "")" ></i>Bio</a></li> 
     <li><a href="/resume"><i class="icon-chevron-right @(ViewBag.ActionName == "resume" ? "ActiveClass" : "")"></i>Resume</a></li> 
</ul>