【问题标题】:Root referencing on IIS for web application is not working, ASP.NET 4.0Web 应用程序的 IIS 上的根引用不起作用,ASP.NET 4.0
【发布时间】:2011-10-20 14:24:08
【问题描述】:

我的 IIS 有奇怪的问题。

在我的网络服务器上,我有一个网络应用程序。 基本上我将文件夹转换为应用程序,我认为我做得很好。我还从下面的链接中查阅了 Microsoft 的说明,以确保我没有遗漏任何内容:

http://msdn.microsoft.com/en-us/library/ha2y9493.aspx

无论如何,现在,在我的应用程序中,

这不起作用:

<img src="/images/7eleven.png" />

但是,这行得通:

<img runat="server" src="~/images/7eleven.png" />

我的物理路径是这样的:

\\server\apps\myapplication\images

myapplication 是 .NET 4.0 WEB 应用程序,我希望它是应用程序根。

但是,据我现在所见,当使用 runat="server" 时,它仅用于服务器控件的 root。对此有补救措施吗?

谢谢。

【问题讨论】:

    标签: asp.net iis root relative-path


    【解决方案1】:

    您网站的根目录是否在 IIS \\server\apps\myapplication\ 中?据我从您的问题中可以看出,它是应用程序的根目录,但您没有说它是网站的根目录。

    客户端不知道应用程序边界,因此除非您的站点根目录中有 \\server\apps\myapplication\,否则您的第一个示例标记中的绝对 URL 将不起作用。

    补救方法是使用服务器端控件或代码块将正确的路径注入img src,如第二个示例所示。

    【讨论】:

    • 谢谢。这一切都说得通。
    【解决方案2】:

    我认为最好使用Server.MapPath("~")

    这会进一步解释ASP.NET Web Project Paths

    【讨论】:

      猜你喜欢
      • 2011-06-12
      • 2012-05-19
      • 2012-06-20
      • 1970-01-01
      • 1970-01-01
      • 2021-02-19
      • 2015-06-20
      • 1970-01-01
      • 2012-01-09
      相关资源
      最近更新 更多