ASP.Net页面相对路径?

时间:2012-01-04 10:54:13

标签: asp.net

我有一个网站,我运行localy,浏览器上的路径是

"http://localhost:3184/basel/index.aspx"

我有一个包含各种超链接的菜单,其中一个是:

<a href="en/open-account/index.aspx"></a>
//This will evaluate to http://localhost:3184/basel/en/open-account/index.aspx.

超链接将重定向我上面的页面,之后当我尝试再次单击菜单上的相同链接时,页面的路径如下:

"http://localhost:3184/basel/en/open-account/en/open-account/index.aspx"

为什么路径有重复,我已经挣扎了一段时间但似乎无法解决这个问题,任何解决方案?

3 个答案:

答案 0 :(得分:1)

试试这个:

<a href="~/en/open-account/index.aspx" runat="server"></a>

使用代字号创建应用程序相对路径。

答案 1 :(得分:0)

你的代码背后有什么?如果A标签是动态设置的(可能是这样的myHyperlink.NavigateURL += "en/open-account/index.aspx";),那么每次加载页面时,URL都会在末尾附加一个新值。

也许检查后面的代码,看看这个URL是否在那里被操纵?如果您已经这样做了,我很抱歉:)

答案 2 :(得分:0)

使用Page.ResolveUrl()方法。如果relativeUrl具有绝对URL,则返回URL不变。如果relativeUrl包含相对URL,则该URL将更改为对当前请求路径正确的相对URL,以便浏览器可以解析URL