我需要在菜单中突出显示活动链接.顺便说一下,我的菜单在主页面中.我正在寻找实现这个的最佳方法?有任何想法吗?
我正在学习Bootstrap,无法将所选项目置于"活动"状态.活动状态保留在默认项目上.新选择/单击的项目会暂时变为活动状态,但会恢复原状.我已阅读所有帖子,仍然无法使此代码生效.我正在使用MVC5和JQuery 2.1.
编辑: 如果我将li的hrefs更改为href ="#",则正确应用活动类.加载新视图时会发生什么?我认为塞巴斯蒂安的回应很接近,但是对于区域而言却变得混乱.
标记
<div class="navbar-wrapper">
<div class="container">
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-header">
<a class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="navbar-brand" href="#">Test</a>
</div>
<div class="btn-group pull-right">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
<i class="icon-user"></i>Login
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#">Profile</a></li>
<li class="divider"></li>
<li><a href="#">Sign Out</a></li>
</ul>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="~/Home">Home</a></li>
<li><a href="~/Home/About">About</a></li>
<li><a href="~/Student">Students Sample</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul …Run Code Online (Sandbox Code Playgroud) 我正在尝试将此代码移植到mvc 6,感谢任何帮助,代码编译但该方法在我的视图中不可用@Html.IsActive.
using Microsoft.AspNet.Mvc.Rendering;
namespace Blah.Web.Helpers
{
public static class HtmlHelpers
{
public static string IsActive(this HtmlHelper htmlHelper, string controller, string action)
{
var routeData = htmlHelper.ViewContext.RouteData;
var routeAction = routeData.Values["action"].ToString();
var routeController = routeData.Values["controller"].ToString();
var returnActive = (controller == routeController && action == routeAction);
return returnActive ? "active" : "";
}
}
}
Run Code Online (Sandbox Code Playgroud)
在视图中我引用了命名空间:
@using Blah.Web.Helpers;
Run Code Online (Sandbox Code Playgroud)