如何进行活动菜单文本颜色更改导航下拉项子菜单?



我希望在页面加载后重定向时更改活动菜单的颜色。 重定向到页面后要更改颜色的页面名称 使用我的布局导航下拉项类,因此需要此功能效果下拉子菜单。

我必须动态执行此操作,并且需要导航栏下拉项效果 我该怎么做?

<div class="header-navbar"role="navigation" data-menu="menu-wrapper">
<!-- Horizontal menu content-->
<div class="navbar-container" data-menu="menu-container">
<!-- include ~/includes/mixins-->
<ul class="nav navbar-nav" id="main-menu-navigation" data-menu="menu-navigation">
<li class="dropdown nav-item" data-menu="dropdown">
<a class="dropdown-toggle nav-link" href="#" data-toggle="dropdown"><i class="ft-book"></i><span>Dergi</span></a>
<ul class="dropdown-menu">
<li data-menu="">
<a class="dropdown-item" href="@Url.Action("Create", "News")"
data-toggle="dropdown"> Create News
<submenu class="name"></submenu>
</a>
</li>
</ul>
</li>
</div>

您可以使用项目的根命名空间制作 html 扩展方法:

using System.Web.Mvc;
namespace YourProjectNamespace
{
public static class HtmlHelpers
{
public static string IsActive(this HtmlHelper html, string url)
{
var current = html.ViewContext.HttpContext.Request.Url.AbsolutePath.ToString().ToLower();
if (url == "/")
{
if (current == "/" || current == "/home" || current == "/home/index" || current == "/home/" || current == "/home/index/")
{
return "active";
}
else
return "";
}
if (current.Contains(url.ToLower()))
{
return "active";
}
return "";
}
}
}

然后在您的 HTML 中使用它,如下所示:

<li data-menu="">
<a class="dropdown-item" href="@Url.Action("Create", "News")"
data-toggle="dropdown" class="@Html.IsActive("/News/Create")" > Create News
</a>
</li>

这将active类中添加当前菜单项。