В приложении asp.net mvc я обычно решаю это, устанавливая идентификатор тега body, который содержит имя контроллера и имя действия. Затем я использую css для стилизации ссылок по-разному в зависимости от идентификатора тега body.
Обычно я делаю это, создавая расширение html-помощника, которое получает строку id для тега body. Это может выглядеть примерно так:
public static string BodyId(this HtmlHelper helper) {
var controllerName = helper.ViewContext.RouteData.GetRequiredString("controller").ToLower();
var actionName = helper.ViewContext.RouteData.GetRequiredString("action").ToLower();
return string.Format("{0}-{1}", controllerName, actionName);
}
Затем использовать его как это:
<body id="<%=Html.BodyId()%>">
Затем вы можете поместить идентификаторы всех ссылок, а также. Чтобы они были понятнее, они также могут содержать имя контроллера и имя действия, к которому они должны привязываться. Что-то вроде этого:
<ul>
<li><a href="" id="home-index-link">test1</a></li>
<li><a href="" id="account-login-link">test2</a></li>
</ul>
Затем я использую CSS, чтобы стиль их по-разному в зависимости от того, если они выбраны или нет. Что-то вроде этого:
#home-index #home-index-link, #account-login #account-login-link {
/* Styles for selected links */
}
Это, конечно, будет работать, если вы делаете то же самое для <li />
тега вместо <a />
тега.
Если вы не хотите этого делать, вы можете, конечно, просто использовать routingata (как и в моем html-помощнике здесь). Значение с ключом «действие» будет содержать имя действия, а значение с ключом «контроллер» будет содержать имя контроллера.
i использовать asp.net mvc – kusanagi