ASP.NET MVC结合AdminLte模板设置左侧菜单栏动态高亮显示

前言

AdminLte模板将左侧菜单栏高亮显示的效果写死了,如图所示:

在ASP.NET MVC框架中,我将左侧菜单栏作为分部页分离出来。这就意味着,它是个公共文件,不能直接添加active.

解决方案

我的想法是:在分部页中获取当前控制器和方法,然后判断是否要添加active

我在左侧菜单栏分部页的开头添加了以下代码:

@{
    //得到当前访问的controller和action名称
    var controller = ViewContext.RouteData.Values["controller"].ToString();
    var action = ViewContext.RouteData.Values["action"].ToString();
}

然后作判断:

代码如下:

<ul class="sidebar-menu" data-widget="tree">
            <li class="header">MAIN NAVIGATION</li>
            <li @if(controller =="Home" && action=="Index" ){ <text>class="active"</text> }>
                <a href="~/Home/Index">
                    <i class="fa fa-dashboard"></i> <span>Dashboard</span>
                    <span class="pull-right-container">
                        <small class="label pull-right bg-green">Main</small>
                    </span>
                </a>
            </li>
            <li @if (controller == "Student" && action == "Index") { <text> class="active" </text> }>
                <a href="~/Student/Index">
                    <i class="fa fa-th"></i> <span>Student</span>
                    <span class="pull-right-container">
                        <small class="label pull-right bg-green">new</small>
                    </span>
                </a>
            </li>

猜你喜欢

转载自blog.csdn.net/ALaDingPro/article/details/83109576