, если в файле Site.Master
есть что-то вроде
<div id="menu-container">
<ul id="menu">
<li>
<%: Html.ActionLink("Frontpage", "Index", "Home")%></li>
<li>
<%: Html.ActionLink("Content", "Index", "Content")%></li>
<li>
<%: Html.ActionLink("Winners", "Index", "Winners")%></li>
<li>
<%: Html.ActionLink("Users", "Index", "Users")%></li>
<li>
<%: Html.ActionLink("Statistics", "Index", "Statistics")%></li>
<li>
<%: Html.ActionLink("Help", "Help", "Home")%></li>
</ul>
<ul id="publish">
<li>
<%: Html.ActionLink("Preview", "Index", "Preview")%></li>
</ul>
</div>
, и мы хотим, чтобы на каждой странице содержимого устанавливался правильный атрибут class="selected"
справа <li>
, что было бы лучшим способом?
В настоящее время я использую:
<% string url = Page.Request.Url.AbsoluteUri.ToString(); %>
<ul id="menu">
<li <% if (url.Contains("/Home")) { Response.Write("class='selected'"); } %>>
<%: Html.ActionLink("Frontpage", "Index", "Home")%></li>
<li <% if (url.Contains("/Content")) { Response.Write("class='selected'"); } %>>
<%: Html.ActionLink("Content", "Index", "Content")%></li>
<li <% if (url.Contains("/Winners")) { Response.Write("class='selected'"); } %>>
<%: Html.ActionLink("Winners", "Index", "Winners")%></li>
<li <% if (url.Contains("/Users")) { Response.Write("class='selected'"); } %>>
<%: Html.ActionLink("Users", "Index", "Users")%></li>
<li <% if (url.Contains("/Statistics")) { Response.Write("class='selected'"); } %>>
<%: Html.ActionLink("Statistics", "Index", "Statistics")%></li>
<li <% if (url.Contains("/Home/Help")) { Response.Write("class='selected'"); } %>>
<%: Html.ActionLink("Help", "Help", "Home")%></li>
</ul>
, но я не думаю, что это лучший подход.
Спасибо за любую помощь