2016-08-20 3 views
1

Ich habe Layoutseite in asp.net MVC-Anwendung und diese Seite enthält eine navbarWie verwende ich 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> 

Ich sehe actionmethod für jedes Element in meinem navbar haben jetzt ich CSS Klasse aktiv anwenden möchten zur aktuell ausgewählten ListeElement Wie kann ich dies erreichen mit ViewContext oder wenn es einen besseren Weg gibt?

+0

Mögliche Duplikat arbeiten kann [Wie "aktiv" Klasse Html.ActionLink in ASP.NET MVC hinzufügen] (http://stackoverflow.com/questions/20410623/how-to -add-active-class-zu-html-actionlink-in-asp-net-mvc) –

Antwort

0

Diese

<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

kann ich auf ViewContext.RouteData in aC# class tatsächlich ich möchte eine Erweiterung Methode ähnlich wie ActionLink(), die diesen Job in tut Zusatz? –