【发布时间】:2014-04-10 00:50:16
【问题描述】:
我有一个 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、脚本和图像等资源也是如此。
我查看了很多关于 SO 的类似问题的帖子,但似乎没有一个与我遇到的问题完全相同。很多答案似乎都涉及从代码重定向,这适用于链接,但我不确定这将如何解决资源问题。
【问题讨论】:
-
出于几个不同的原因,我希望避免这样做。其中最重要的是更改应用程序中的每个链接和资源引用。但另一个问题是母版页是如何工作的? ../ 是否与主模板或它们所在的页面相关?
-
好的,您是否已将虚拟目录“webapp”转换为 IIS 中的应用程序?
-
如果不是 ~/ 将解析到下一个可用的根目录(在您的情况下是您的网站)。而且,请记住,您只能将 ~ 与服务器控件一起使用,因为 ASP.Net 在服务器端解析实际路径。除非您添加带有 runat="server" 的链接,否则它不适用于您的 CSS 和脚本。例如。 干杯!
-
是的,它在 IIS 中配置为 webapp,并且所有内容都设置为 runat server。这就是促使这篇文章的原因,我已经阅读了我能找到的关于这个主题的所有内容,但我无法弄清楚问题是什么。
-
关于该问题的任何更新?