加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – MasterPage是否知道正在显示的页面?

发布时间:2020-12-15 22:27:16 所属栏目:asp.Net 来源:网络整理
导读:当我在使用MasterPages的网站上导航时,应用程序是否知道我在哪个页面?如果是这样,它是否存储在我可以访问的对象中? 我问的原因是我可以替换这个: //masterpage div id="nav_main" ulasp:ContentPlaceHolder ID="navigation" runat="server" /asp:ContentP
当我在使用MasterPages的网站上导航时,应用程序是否知道我在哪个页面?如果是这样,它是否存储在我可以访问的对象中?

我问的原因是我可以替换这个:

//masterpage 
<div id="nav_main">
   <ul><asp:ContentPlaceHolder ID="navigation" runat="server">                    
   </asp:ContentPlaceHolder></ul>
</div>

//content page(s)
<asp:Content ContentPlaceHolderID="navigation" ID="theNav" runat="server">
   <li><a href="default.aspx">Home</a></li>
   <li id="current"><a href="faq.aspx">FAQ</a></li>
   <li><a href="videos.aspx">Videos</a></li>
   <li><a href="#">Button 4</a></li>
   <li><a href="#">Button 5</a></li>
</asp:Content>

使用更优雅的导航解决方案,通过将列表项的ID设置为“当前”来突出显示页面的链接.目前,每个页面都会重新创建导航,并将其相应链接的ID设置为当前.

解决方法

我同意克里斯:使用一个控件来处理这个菜单的显示,并让它知道应突出显示的链接.这是我经常使用的方法.如果您有多个页面需要相同的链接样式,可能会变得更加复杂,但您明白了.
Dim thisURL As String = Request.Url.Segments(Request.Url.Segments.Count - 1)
Select Cast thisUrl
   Case "MenuItem1.aspx"
       lnkMenu1.CssClass = "Current"
   Case "MenuItem2.aspx"
       lnkMenu2.CssClass = "Current"
End Select

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读