2012-01-04 93 views
0

我有一个网站,我localy运行,并在浏览器上的路径是ASP.Net页面相对路径?

"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" 

为什么是否它的路径重复,我一直在挣扎一段时间,但似乎无法弄清楚,任何解决方案?

回答

1

试试这个:

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

使用波浪创建一个应用程序相对路径。

+0

我已经尝试了您之前所说的内容,它给了我以下路径:“http:// localhost:3184/basel /〜/ en/open-account/index.aspx”。正如你所看到的,“〜”符号在路径上受到阻碍而未被评估,不知道为什么? – 2012-01-04 10:59:52

+2

您是否在 danludwig 2012-01-04 11:03:11

+0

不会有任何区别 – 2012-01-04 11:04:03

0

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

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

+0

代码中没有代码maniuplate落后于此,A标签在源代码上。 – 2012-01-04 11:03:37

0

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