Tilde(〜)解析为站点根目录而不是asp.net中的应用程序根目录

时间:2014-04-10 00:50:17

标签: c# asp.net .net webforms

我有一个ASP.Net Web窗体站点,我试图将另一个ASP.Net Web窗体应用程序添加到子目录中。 ASP应用程序正确发布并在子目录中正常运行,但是,所有链接都解析为http://website.com/destination而不是http://website.com/webapp/destination

示例:

<a id="loginLink" runat="server" href="~/Account/Login.aspx">

解析为http://website.com/Account/Login.aspx而不是http://website.com/webapp/Account/Login.aspx。 CSS,脚本和图像等资源也是如此。

我已经查看了很多有关类似问题的帖子,但这些帖子似乎都不是我遇到的完全相同的问题。许多答案似乎涉及从代码中重定向,这对链接起作用,但我不确定如何解决资源问题。

1 个答案:

答案 0 :(得分:0)

如果使用/它来自根路径

如果使用../它转到父路径

如果使用〜/它只是asp.net支持runat =“server”prop。 ,它来自应用程序根路径。

例如

   <asp:HyperLink runat="server" NavigateUrl="~/abc.aspx" ID="tests">test</asp:HyperLink> 

相同
<a href='<%=Page.ResolveUrl("~/abc.aspx") %>' >test</a>