前言

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

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

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

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

解决方案

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

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

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

然后作判断:

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

代码如下:

<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>

 

相关文章:

  • 2022-01-07
  • 2021-12-15
  • 2021-10-26
  • 2021-05-16
  • 2022-12-23
  • 2021-11-23
  • 2021-12-08
  • 2022-12-23
猜你喜欢
  • 2021-07-25
  • 2021-08-21
  • 2022-01-08
  • 2021-10-17
  • 2021-06-17
  • 2022-12-23
  • 2021-08-22
相关资源
相似解决方案