前一段时间,Insus.NET有分享一篇《激活当前视图菜单高亮呈现http://www.cnblogs.com/insus/p/5287093.html 这篇只是同一控制器的菜单。

今天分享一篇,是随不同的控制器,呈现一个网站菜单导向。找到一个网站:http://www.engtek.com/services.html ,这个网站除了首页,其它子页均有一个菜单导向:

上图3个标记,它会随所进入的子页不同作相应的变化,标记#1显示菜单文本,标记#2,导航菜单,标记#3是背景图片。

一般情况之下,你在设计这网站这部分时,你每个子页放这段代码,拷贝与修改文字以及背景图片。

<section class="main-contents dot-overlay engtek-bg8 parallax" data-stellar-background-ratio="0.6">
<div class="container">
<div class="section-title section-title-style7 padding-top30">
<h4 class="red-color">Services</h4>
<div class="breadcrumbs-container">
<div class="container">
<ul class="breadcrumb">
<li><a href="index.html">Home</a></li>
<li><a href="services.html">Services</a></li>
<li class="active">New Product Introduction</li>
</ul>
</div>
</div>
</div>
</div>
</section>

下面高亮部分是变化的部分:

或是较好的办法,每一个控制器下的视图做成一个部分视图。

不过上面的,均不是Insus.NET所想需要的。Insus.NET的做法只是在全站使用一个部分视图即可。如果这样实现的话,你得需要知道前当前请求的是哪一个控制器,哪一个视图。
没有关系,这个已经知道了:《获取当前视图名http://www.cnblogs.com/insus/p/5283729.html

其实这都不是问题,问题是知道了控制器和视图名之后,还人得根据控制器名来获取该控制器下的所有视图(也就是子菜单)。

解决这个问题,Insus.NET使用了接口,反射等技术:

下是接口,可以根据你的实际情况,所使用的属性,方法等:

然后在每一个控制器或控制器Entity中实现这个接口:

最后可以部分视图可以这样写:

最新文章

  1. RBAC(基于角色的访问控制权限)表结构
  2. linux服务之upstart与systemd
  3. RTP-实时协议
  4. Android手机定位技术的发展
  5. Hybris license过期的解决办法
  6. JavaScript 修改 CSS 伪类属性
  7. about:firefox set
  8. pagerank 数学基础
  9. Flink从入门到精通系列文章
  10. HTML常用标签定义,用法及例子
  11. Python开发【笔记】:从海量文件的目录中获取文件名--方法性能对比
  12. sort a given string
  13. linux下常用的截图、录屏工具
  14. linux的零碎知识
  15. TCPdump抓包命令详解
  16. Django最佳实践(中文版)
  17. windows php5.4,5.6,7.X添加redis扩展
  18. php 正则表达式三.模式修正
  19. 【两种方式 Service References和 web References 】手把手教你引入webservice 服务
  20. go实现set

热门文章

  1. require、module、exports dojo中的三个特殊模块标识
  2. 【读书笔记】Programming Entity Framework CodeFirst -- 初步认识
  3. Spring-Context之四:Spring容器及bean的定义
  4. jQuery实现放大镜效果
  5. boost常用记录
  6. mysql如果数据不存在,则插入新数据,否则更新的实现方法
  7. 快速入门系列--MVC--07与HTML5移动开发的结合
  8. ::after::before清除浮动原理
  9. 初了解NodeJS
  10. JSP开发环境配置问题解答