asp.net 重复的本地主机 URL 路径
本文关键字:主机 URL 路径 net asp | 更新日期: 2023-09-27 18:37:05
我希望你能帮助我解决我一直试图解决的小问题。使用 C#,我构建了一个有 4 个页面的 ASP.NET 网站。(首页 |配置|废话 |联系人),其中配置菜单有子菜单 - config1,config2,如下所示:
菜单:
家
配置:
- 配置1
- 配置2
等等
联系
首页目录 : 索引.aspx
配置页目录:pages/config1.aspx 和 pages/config2.aspx
我遇到的问题是:当我单击pages/config1.aspx时,转到正确的页面,然后在同一页面上单击pages/config2.aspx,问题开始了 - 重复的页面/页面/config2.aspx - 收到错误消息。如何解决这个问题?
我已经从堆栈溢出复制了代码,这似乎没有帮助。解决方案如下:
在母版页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
问题是您使用的是相对锚点而不是绝对锚点。尝试更改
<a href="pages/pages.config2.aspx">link</a>
自
<a href="/pages/pages.config2.aspx">link</a>
甚至这将起作用
<a href="~/pages/pages.config2.aspx">link</a>
您可以在母版页中使用以下代码获取您的URL:
string test = Request.Url.AbsolutePath.Substring(1, Request.Url.AbsolutePath.Length - 1);
您可以使用以下代码响应您的页面:
<a href="../config2.aspx">link</a>