Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在asp.net中解析为站点根而不是应用程序根的波浪号(~)_C#_Asp.net_.net_Webforms - Fatal编程技术网

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

C# 在asp.net中解析为站点根而不是应用程序根的波浪号(~),c#,asp.net,.net,webforms,C#,Asp.net,.net,Webforms,我有一个ASP.NETWebForms网站,我正试图将另一个ASP.NETWebForms应用程序添加到子目录中。ASP应用程序已正确发布并从子目录正常运行,但是,所有链接都解析为http://website.com/destination而不是http://website.com/webapp/destination 例如: <a id="loginLink" runat="server" href="~/Account/Login.aspx"> 解析为http://webs

我有一个ASP.NETWebForms网站,我正试图将另一个ASP.NETWebForms应用程序添加到子目录中。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、脚本和图像等资源也是如此


我看过很多关于类似问题的帖子,但是没有一个和我的问题完全一样。许多答案似乎涉及到从代码重定向,这对链接有效,但我不确定这将如何解决资源问题。

如果使用/it是从根路径

如果使用../it,请转到父路径

如果使用~/asp.net仅支持runat=“server”属性,它来自应用程序根路径

例如



出于几个不同的原因,我希望避免这样做。其中最重要的一点是更改应用程序中的每个链接和资源引用。但另一个问题是如何从母版页开始工作?../relitive到主模板或它们所在的页面吗?确定您是否已将虚拟目录“webapp”转换为IIS中的应用程序?如果不是~/将解析到下一个可用根目录(在您的情况下是您的网站)。而且,请记住,您只能将~用于服务器控件,因为ASP.Net解析服务器端的实际路径。除非添加带有runat=“server”的链接,否则它将无法与CSS和脚本一起使用。干杯!是的,它在IIS中配置为webapp,并且所有内容都设置为在服务器上运行。这就是促使我写这篇文章的原因,我已经阅读了所有我能找到的关于这个主题的东西,但我不知道问题是什么。有关于这个问题的更新吗?
   <asp:HyperLink runat="server" NavigateUrl="~/abc.aspx" ID="tests">test</asp:HyperLink> 
<a href='<%=Page.ResolveUrl("~/abc.aspx") %>' >test</a>