У меня есть частичное представление в моем тестовом приложении ASP.NET MVC. Это представление отвечает за отображение кнопок меню приложения.
Я хочу изменить цвет кнопки на текущей активной странице. В настоящее время я написал что-то вроде:
<ul id="menu">
<% var activeClass = (string)(ViewData["currentPage"]) == "Home" ? "activeMenuButton" : ""; %>
<li><%= Html.ActionLink ("Home", "Index", "Home", new { @class = activeClass })%></li>
<% activeClass = (string)(ViewData["currentPage"]) == "About" ? "activeMenuButton" : ""; %>
<li><%= Html.ActionLink ("About", "About", "Home", new { @class = activeClass })%></li>
</ul>
И установить представление данных в действиях контроллера:
//in home action
ViewData["currentPage"] = "Home";
//in About action
ViewData["currentPage"] = "About";
Это работает, но я должен изменить каждое действие контроллера. Есть ли лучший способ автоматического определения вида и изменения кода частичного вида для соответствующего изменения цвета.