为了账号安全,请及时绑定邮箱和手机立即绑定

激活当前视图菜单高亮呈现 V2.0

标签:
Html/CSS

前一段时间,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中实现这个接口:



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


 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消