В проекте asp.net mvc по умолчанию в файле Site.Master есть список навигации по меню:
<div id="menucontainer">
<ul id="menu">
<li><%= Html.ActionLink("Home", "Index", "Home")%></li>
<li><%= Html.ActionLink("About Us", "About", "Home")%></li>
</ul>
</div>
Это отображает в браузере:
<div id="menucontainer">
<ul id="menu">
<li><a href="/">Home</a></li>
<li><a href="/Home/About">About Us</a></li>
</ul>
</div>
Я хочу иметь возможность динамически устанавливать активный элемент списка в зависимости от вызываемого представления. То есть, когда пользователь смотрит на домашнюю страницу, я бы хотел, чтобы был создан следующий HTML-код:
<div id="menucontainer">
<ul id="menu">
<li class="active"><a href="/">Home</a></li>
<li><a href="/Home/About">About Us</a></li>
</ul>
</div>
Я ожидал, что это будет примерно так:
<div id="menucontainer">
<ul id="menu">
<li <% if(actionName == "Index"){%> class="active"<%}%>><%= Html.ActionLink("Home", "Index", "Home")%></li>
<li <% if(actionName == "About"){%> class="active"<%}%>><%= Html.ActionLink("About Us", "About", "Home")%></li>
</ul>
</div>
Ключевой бит здесь - строка <% if(actionName == "Index"){%> class="active"<%}%>
. Я не знаю, как определить текущее actionName.
Есть предложения, как это сделать? Или, если я ошибаюсь, есть ли лучший способ сделать это?