如何在MasterPage中设置超链接指向当前内容页所在目录的本地文件
解决根目录母版页导航指向当前子目录页面的问题
方法1:使用原生HTML <a> 标签替代服务器控件
直接在母版页中使用普通HTML链接,设置href="config.aspx"即可:
<a href="config.aspx">配置页面</a>
HTML的相对路径基于浏览器当前加载的页面URL(即内容页URL)解析:
- 访问
mysite.com/Options/default.aspx时,链接指向mysite.com/Options/config.aspx - 访问
mysite.com/Settings/default.aspx时,链接指向mysite.com/Settings/config.aspx
方法2:针对ASP.NET服务器控件(HyperLink)的设置
如果必须使用HyperLink服务器控件,将NavigateUrl设置为./config.aspx:
<asp:HyperLink ID="lnkConfig" runat="server" NavigateUrl="./config.aspx">配置页面</asp:HyperLink>
ASP.NET渲染服务器控件时,会根据内容页的实际路径转换相对路径,最终生成的链接会指向当前内容页所在子目录的config.aspx文件。
注意:若站点使用URL重写(如直接用mysite.com/Options访问,隐藏default.aspx),需确保浏览器地址栏路径末尾带斜杠(mysite.com/Options/),否则浏览器会将config.aspx解析为根目录下的文件;也可通过URL重写规则自动添加末尾斜杠,避免该问题。
内容的提问来源于stack exchange,提问作者user12571241
相关产品推荐
相关产品推荐

