用于Web应用程序的IIS上的根引用不起作用,ASP.NET 4.0

时间:2011-10-20 14:24:08

标签: asp.net iis root relative

我的IIS遇到了奇怪的问题。

在我的网络服务器上,我有一个Web应用程序。 基本上我将文件夹转换为应用程序,我认为我做的一切都没问题。我还从以下链接咨询了微软的指示,以确保我没有遗漏任何内容:

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 APPLICATION,我希望它是一个应用程序根目录。

但是,据我所知,当使用runat =“server”时,它只是服务器控件的root。这有补救措施吗?

感谢。

2 个答案:

答案 0 :(得分:2)

您的网站的根目录是否在IIS \\server\apps\myapplication\中?据我所知,这是应用程序的根源,但你没有说它是网站的根源。

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

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

答案 1 :(得分:0)

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

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