Я бы, вероятно, написал помощник html, который сгенерирует эти ссылки в меню и на основе текущего контроллера, а действие применит класс привязки current
к якору:
public static MvcHtmlString MenuLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName
)
{
string currentAction = htmlHelper.ViewContext.RouteData.GetRequiredString("action");
string currentController = htmlHelper.ViewContext.RouteData.GetRequiredString("controller");
if (actionName == currentAction && controllerName == currentController)
{
return htmlHelper.ActionLink(
linkText,
actionName,
controllerName,
null,
new {
@class = "current"
});
}
return htmlHelper.ActionLink(linkText, actionName, controllerName);
}
И затем используйте этот помощникна мой взгляд:
<ul>
<li><%= Html.MenuLink("Home", "Index", "Home") %></li>
<li><%= Html.MenuLink("Links", "Links", "Home") %></li>
<li><%= Html.MenuLink("Contact us", "Contact", "Home") %></li>
</ul>
Тогда все, что осталось, это определить этот current
класс в файле CSS для выделения:
.current {
...
}