ajax aspx页面中包含的图像的相对路径

时间:2012-10-03 15:10:06

标签: asp.net iis

在我的webapp中,我有一个文件夹Views。在这个文件夹中有几个.aspx页面。我不直接在webapp中使用呈现的内容,而是在webapp的根目录下的主aspx页面中使用ajax请求内容。

现在,当我引用图像时,“images / image.png”将起作用,因为图像引用位于根目录上的aspx页面中。当我将其更改为“/images/image.png”时,由于根目录由虚拟IIS文件夹确定,因此无法使用。

我如何获得干净的参考资料,例如: “/images/image.png”?

1 个答案:

答案 0 :(得分:0)

首先也可能是最优雅的,让元素在服务器上运行并使用root-reletive url:

<img src="~/images/image.png" alt="image" runat="server" />

这会自动将您的src值转换为将从您当前位置解析的路径。但是,有一点需要注意。如果你在包含的页面上进行,asp.net可能会在这里创建一个不正确的值,因为它可以变成

<img src="../images/image.png" alt="image" />

如果你是一个目录。因此,如果将此结果包含在应用程序根文件夹中的页面中,则您的值可能不正确。我还没有看到解决这个问题的好方法。但是,如果文件不存在,它会向您显示警告。

或者,您可能希望手动设置此类页面的根路径:

<img src="<%=Request.ApplicationPath %>/images/image.png" alt="image" />

将转换为始终来自网站根目录的路径:

<img src="/AppPath/images/image.png" alt="image" />

显然,这有点冗长。此外,如果引用的文件不存在,您将无法看到任何警告,因为它将动态构建。