c# - 波浪号 (~) 解析为站点根目录而不是 asp.net 中的应用程序根目录

标签 c# asp.net .net webforms

我有一个 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/

相关文章:

c# - 画一条平行线

c# - 创建一个普通数组,其中一个位置可以保存多个值

asp.net - 无法解析从服务器收到的消息

javascript - 如何禁用CKEditor自动添加标签 'a'

c# - 在 .NET 中是否有用于长时间运行线程的线程调度程序?

c# - 如何使用资源中的 ElementName 绑定(bind)?

c# - 使用 fiddler core 修改响应

asp.net - 如何将省略号应用于 CheckBoxList 控件标签文本

.net - 在 .NET 中加密数据的最佳实践是什么?

.net - WCF 客户端界面中的重命名参数