je fais quelque chose de similaire à ce qui suit au cours exemple simplifié ;-)
Controller:
public ActionResult Index()
{
ViewData["MainMenuOn"] = "Home";
return View();
}
public ActionResult About()
{
ViewData["MainMenuOn"] = "About";
return View();
}
public ActionResult Contact()
{
ViewData["MainMenuOn"] = "Contact";
return View();
}
Vue:
<ul id="main-menu">
<li class="<%= Html.MainMenuOn("Home") %>">... action link for home action ...</li>
<li class="<%= Html.MainMenuOn("About") %>">... action link for about action ...</li>
<li class="<%= Html.MainMenuOn("Contact") %>">... action link for contact action ...</li>
</ul>
extension Helper:
public static string MainMenuOn(this HtmlHelper html, string menuItem)
{
if ((html.ViewData["MainMenuOn"] != null) && (html.ViewData["MainMenuOn"] == menuItem))
return "on";
return "";
}
Ensuite, ton css devrait être assez simple
ul#main-menu li
{
background: green;
}
ul#main-menu li.on
{
background: blue;
}
Il y a beaucoup de façons de la peau ce chat ... en fonction de vos besoins, je commencer à examiner différentes façons de mettre en œuvre l'extension HtmlHelper.
HTHs, Charles