当我在使用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设置为current来重新创建导航。
最佳答案
我同意克里斯:使用控件来处理此菜单的显示,并使它知道应突出显示哪个链接。这是我经常使用的方法。如果您有多个页面,而这些页面需要使用不同样式的同一链接,则可能会变得更加复杂,但是您会明白这一点。
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
关于asp.net - 母版页是否知道正在显示哪个页面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/189062/