В проекте MVC asp.net по умолчанию в файле 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.
Есть предложения, как это сделать? Или, если я на неправильном пути, есть ли лучший способ сделать это?