我希望你能解决我一直在努力解决的小问题。使用C#,我构建了一个有4页的ASP.NET网站。 (主页|配置| Blah |联系人)配置菜单有子菜单 - config1,config2如下:
菜单:
主页
配置:
- config1
- config2
布拉什
接触
主页目录:index.aspx
配置页面目录:pages / config1.aspx和pages / config2.aspx
我遇到的问题是:当我点击pages / config1.aspx时,转到右侧页面,然后在同一页面上我点击pages / config2.aspx,一个问题就出现了 - 重复页面/ pages / config2。 aspx - 得到错误消息。如何解决这个问题?
我已经从stackoverflow复制代码,这似乎没有帮助。解决方案如下:
在MasterPage Page_Load中:
string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx
string path = HttpContext.Current.Request.Url.AbsolutePath;
// /TESTERS/Default6.aspx
string host = HttpContext.Current.Request.Url.Host;
// localhost
答案 0 :(得分:1)
问题是你使用的是相对锚而不是绝对锚。尝试更改
<a href="pages/pages.config2.aspx">link</a>
到
<a href="/pages/pages.config2.aspx">link</a>
答案 1 :(得分:0)
甚至可以使用
<a href="~/pages/pages.config2.aspx">link</a>
答案 2 :(得分:0)
您可以在母版页中使用以下代码获取您的网址:
string test = Request.Url.AbsolutePath.Substring(1, Request.Url.AbsolutePath.Length - 1);
您可以使用以下代码回复您的网页:
<a href="../config2.aspx">link</a>