我有一个 ASP.Net Web Forms 站点,我正在尝试将另一个 ASP.Net Web Forms 应用程序添加到子目录中。 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、脚本和图像等资源也是如此。
我看过很多关于类似问题的帖子,但似乎没有一个与我遇到的问题完全相同。许多答案似乎涉及从代码重定向,这适用于链接,但我不确定这将如何解决资源问题。
最佳答案
如果使用/它来自根路径
如果使用 ../它会转到父路径
如果使用 ~/它是 asp.net 只支持 runat="server"属性。 ,它来自应用根路径。
例如。
<asp:HyperLink runat="server" NavigateUrl="~/abc.aspx" ID="tests">test</asp:HyperLink>
与
相同<a href='<%=Page.ResolveUrl("~/abc.aspx") %>' >test</a>
关于c# - 波浪号 (~) 解析为站点根目录而不是 asp.net 中的应用程序根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976664/