2016-08-20 3 views
1

У меня есть макет страницы в ASP.NET MVC приложения и эта страница содержит NavbarКак использовать ViewContext?

<ul class="sidenavbar"> 
    <li><a style="font-size:large">ASP.NET Tutorial</a></li> 
    <li>@Html.ActionLink("Home","Home")</li> 
    <li>@Html.ActionLink("Introduction", "Introduction")</li> 
    <li>@Html.ActionLink("Getting Started", "GettingStarted")</li> 
</ul> 

Смотри у меня есть actionmethod для каждого элемента в моей навигационной панели теперь я хочу, чтобы применить CSS класс активен в данный момент item Как я могу достичь этого, используя ViewContext или если есть лучший способ?

+0

Возможный дубликат [Как добавить "активный" класс Html.ActionLink в ASP.NET MVC] (http://stackoverflow.com/questions/20410623/how-to -add-active-class-to-html-actionlink-in-asp-net-mvc) –

ответ

0

Это может работать

<ul class="nav navbar-nav"> 
    <li class="@(ViewContext.RouteData.Values["controller"].ToString() == "Home" ? "active" : "")">@Html.ActionLink("Home", "Index", "Home")</li> 
    <li class="@(ViewContext.RouteData.Values["controller"].ToString() == "About" ? "active" : "")">@Html.ActionLink("About", "About", "Home")</li> 
    <li class="@(ViewContext.RouteData.Values["controller"].ToString() == "Contact" ? "active" : "")">@Html.ActionLink("Contact", "Contact", "Home")</li> 
</ul> 
+0

Могу ли я получить доступ к ViewContext.RouteData в классе aC#, на самом деле я хочу сделать метод расширения, похожий на ActionLink(), который выполняет эту работу в добавление? –

 Смежные вопросы

  • Нет связанных вопросов^_^