zoukankan      html  css  js  c++  java
  • MVC导航菜单高亮显示实现思路

    ///代码不是我写的,但是已经亲自测试过了,按照我的理解写的注释,不对的地方大家评论指出
         @{
                @*这个是把当前的路由值格式化并保存到currentController这个变量中,这里是格式化为Controller->Action这种格式的,如果你的导航菜单所指向的路径都是在一个Controller下面,那就完全可以省掉Controller  *@
                var currentController = string.Format("[{0}->{1}]", ViewContext.RouteData.Values["controller"].ToString(), ViewContext.RouteData.Values["action"].ToString());
            }
            @*helper语法让你可以轻松在视图模板中创建可重用的帮助方法,以此来封装一些负责向页面进行输出的功能
            这里就是使用了Helper来构造了MenuItem这样一个帮助方法,来得到导航菜单项的样式*@
            @helper MenuItem(string curControllerName, string allowedControlNames)
            {
            @(Html.Raw(allowedControlNames.IndexOf(curControllerName, StringComparison.InvariantCultureIgnoreCase) != -1 ? " TT3 " : ""))
            }
            <ul>
                @*应用MenuItem帮助方法,得到当前菜单的样式*@
                <li class="@MenuItem(currentController,"[Home->CompanyIntroduction]")"><a href="@Url.Action("Controller","Actioin")">菜单1</a></li>
                <li class="@MenuItem(currentController, "[Lottery->Trends]") TT2"><a href="@Url.Action("Controller", "Action")">菜单2</a></li><li class="@MenuItem(currentController, "[Lottery->Trends]")"><a href="@Url.Action("Controller","Action")">菜单3</a></li>
                <li class="@MenuItem(currentController, "[Lottery->Forecast]") TT2"><a href="@Url.Action("Controller","Action")">菜单4</a></li>
            </ul>
  • 相关阅读:
    redis-client和redis-template存储的key的格式不一样
    dubbo+zookeeper基础
    java面试题1
    Spring线程池(异步、同步)
    Java并发多线程
    Java并发-并发工具类JUC
    Java并发面试题
    ActiveMQ
    一键部署springboot到Docker
    Quartz任务调度学习
  • 原文地址:https://www.cnblogs.com/baiyunchen/p/3928308.html
Copyright © 2011-2022 走看看