我有一个母版页,顶部菜单中有一个帮助链接。此链接应包含当前页面中的动态书签,以便用户滚动到他当前看到的页面的帮助。
<a href="help.aspx#[NameOfCurentPage]">Help</a>
你会如何实现这个?
答案 0 :(得分:3)
您可以做的另一件事是通过内容页面本身引用母版页。
为了让自己更容易,我在母版页本身中创建了一个可公开访问的方法:
Public Sub SetNavigationPage(ByVal LinkName As String)
DirectCast(Me.FindControl(MenuName), HyperLink).NavigateUrl = "help.aspx#" & LinkName
End Sub
然后在内容页面中,我通过以下内容获得对母版页的引用...
Dim myMaster As MasterPageClass = DirectCast(Me.Master, MasterPageClass)
myMaster.SetNavigationPage("CurrentPage")
答案 1 :(得分:1)
我在三个多月内没有写过一行c#但你可以在主页(OnLoad)中挂钩一个事件并从那里设置链接。查看ContentPlaceholder中您的主页面中的内容并获取其类型或名称,然后将其应用于链接。
答案 2 :(得分:1)
我会使用“Request.PhysicalPath”来获取所请求的物理路径,然后在您的帮助HMTL中,您可以通过它们所关注的页面来表示这些部分。
你可能会使用:
Path.GetFileName(Request.PhysicalPath).ToUpper()
规范化数据。使用PhysicalPath将允许您在母版页中拥有所有逻辑;这将消除在所有内容页面中编写代码的需要。只是我的偏好。
答案 3 :(得分:1)
把
<a href="help.aspx#<%= Path.GetFileName(this.Page.Request.FilePath) %>">Help</a>
进入MasterPage,然后在帮助页面上锚定格式为:
<a name="page1.aspx" />Blah, blah
<a name="page2.aspx" />Blah, blah
如果你在子文件夹中重复页面名称,例如,Sub1 / page1.aspx和Sub2 / page1.aspx - 你必须稍微聪明一些。