0

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

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

我怎样才能有一个干净的参考,例如“/images/image.png”?

4

1 回答 1

0

首先,可能也是最优雅的,让元素在服务器上运行并使用与根相关的 url:

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

这将自动将您的 src-value 转换为将从您当前位置解析的路径。但是,有一个警告。如果您在包含的页面上执行此操作,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" />

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

于 2012-10-05T17:45:39.963 回答