【发布时间】:2020-10-08 20:47:39
【问题描述】:
我的 asp.net MVC 核心 Web 应用程序中有以下 <nav>:-
<nav>
<ul id="navigation">
<li class="@Html.IsSelected(actions: "Home", controllers: "Default")"><a href="/">home</a></li>
<li class="@Html.IsSelected(actions: "FAQ", controllers: "Default")"><a href="/home/FAQ">FAQ</a></li>
<li class="@Html.IsSelected(actions: "Contact", controllers: "Default")"><a href="/home/contact/">Contact</a></li>
</ul>
</nav>
我想更改当前链接的类,我定义了以下 html 扩展方法:-
public static class HtmlHelperExtensions
{
public static string IsSelected(this IHtmlHelper htmlHelper, string controllers, string actions, string cssClass = "selected")
{
string currentAction = htmlHelper.ViewContext.RouteData.Values["action"] as string;
string currentController = htmlHelper.ViewContext.RouteData.Values["controller"] as string;
IEnumerable<string> acceptedActions = (actions ?? currentAction).Split(',');
IEnumerable<string> acceptedControllers = (controllers ?? currentController).Split(',');
return acceptedActions.Contains(currentAction) && acceptedControllers.Contains(currentController) ?
cssClass : String.Empty;
}
}
但是当我点击任何<nav> 链接时,它们没有得到任何特殊效果!有什么建议吗?
谢谢
【问题讨论】:
标签: jquery css asp.net asp.net-core asp.net-core-mvc