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>
MVC导航菜单高亮显示实现思路的更多相关文章
- js实现当前导航菜单高亮显示
为了增加用户体验度,增加网页的易用性和美观度,往往需要把当前导航菜单以特殊方式显示,通常是高亮显示或有不同于其它菜单的背景,有两种方法可以实现,第一种是用纯css来实现,二是用js辅助css来实现,两 ...
- 在ASP.NET MVC下实现树形导航菜单
在需要处理很多分类以及导航的时候,树形导航菜单就比较适合.例如在汽车之家上: 页面主要分两部分,左边是导航菜单,右边显示对应的内容.现在,我们就在ASP.NET MVC 4 下临摹一个,如下: 实现的 ...
- JQuery 实现导航菜单的高亮显示
需求是这样的 点击不同的导航菜单实现当前点击的菜单是高亮的,点击导航下面的某个分类,分类所属的导航也必须是高亮的,点击某一篇文章,文章所属的导航菜单也必须是高亮的. 网上说的思路是这样的: 在菜单层的 ...
- jQuery弹性滑动导航菜单实现思路及代码
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" /> <meta na ...
- jq倾斜的动画导航菜单
效果预览网址:http://keleyi.com/keleyi/phtml/jqmenu/index.htm 支持IE.Chrome.火狐等浏览器 完整源代码,保存到HTML文件打开也可查看效果: & ...
- jquery和css3实现滑动导航菜单
效果预览:http://keleyi.com/keleyi/phtml/html5/15/ 有都中颜色可供选择,请使用支持HTML5/CSS3的浏览器访问. HTML源代码: <!DOCTYPE ...
- 用css实现三级导航菜单
主要使用css的hover伪类来实现该功能. 主要思路:先搭出三级菜单的框架,然后使用css的:hover来实现! 对li添加类selected,对该类添加position:relative属性,然后 ...
- DDD开发框架ABP之导航菜单
每一个网站都会有导航菜单(通常不止一个),ASP.NET Boilerplate(后文简称ABP)提供了一种创建和使用菜单的通用架构,利用架构我们可以方便的创建菜单并显示给用户.本文主要说明菜单的创建 ...
- MDNavBarView下拉导航菜单(仿美团导航下拉菜单)
说到下拉导航菜单这个东西用得还真不少,细心算一下做开发以来这样的菜单已经写了第三次了,但基本都是不能复用.感觉特累人.不经意看到同事写一个类似的下拉菜单,但他引用了开源库仿大众菜单的库,大致看了一下, ...
随机推荐
- 单例模式的c++实现
#pragma once #include <iostream> #include <memory> #include <Windows.h> using name ...
- JS实现九九乘法表和时间问候语
编码 小练习,练习使用循环实现一个九九乘法表 第一步,最低要求:在Console中按行输出 n * m = t 然后,尝试在网页中,使用table来实现一个九九乘法表 <!DOCTYPE htm ...
- (1-3)line-height与图片的表现
(1-3)line-height与图片的表现 这篇文章真的很重要,耐心看,重中之重. 一.行高和图片的表现 图片和行高有什么歪腻呢?? 很多人不明白,为什么我图片好好的放在一个标签里面它就出现了如下问 ...
- ES6入门——数值的扩展
1.二进制和八进制表示法 ES6提供了二进制和八进制数值的新的写法,分别用前缀0b或0B和0o或0O表示. 2.Number.isFinite(),Number.isNaN() ES6在Number对 ...
- 斐波那契数列(C++ 和 Python 实现)
(说明:本博客中的题目.题目详细说明及参考代码均摘自 “何海涛<剑指Offer:名企面试官精讲典型编程题>2012年”) 题目 1. 写一个函数,输入 n, 求斐波那契(Fibonacci ...
- git rebase vs git merge详解
https://medium.com/@porteneuve/getting-solid-at-git-rebase-vs-merge-4fa1a48c53aa#.std3ddz0g 请参考另外一篇文 ...
- SQLSERVER procedure 传入参数为DataTable类型 C#该怎么写
以上为数据库中存储过程传入参数为table类型 table类型在数据库中存在为: 最后在C#实现方式为:
- 解决因 RsFX devicer 而无法卸载 SQL Server 的问题
到卸载 SQL Server 2008 R2 安装程序支持文件时,遇到了问题:“警告 26003.无法卸载 Microsoft SQL Server 2008 R2 安装程序支持文件,因为安装了以下产 ...
- 学习的矩阵微积分The matrix calculus you need for deep learning
学习的矩阵微积分The matrix calculus you need for deep learning https://explained.ai/matrix-calculus/index.ht ...
- Deep Learning Drizzle
Deep Learning Drizzle Drench yourself in Deep Learning, Reinforcement Learning, Machine Learning, Co ...