用另一台服务器上的绝对路径替换asp:图像相对路径(../../ images)

时间:2011-04-10 09:59:55

标签: c# asp.net iis-7 web-config

我有一个Web应用程序,它的所有图像都是相对路径, 例如'../../images/logo.png'

我需要将应用程序中的所有图像更改为另一个域, 例如:'static.domain.com/images/logo.png'

有更快的方式来更改所有数据吗? 当然,长期选择是迭代所有图像并手动更改它们,

4 个答案:

答案 0 :(得分:0)

一般来说,你应该封装代码块中资源的相对路径,就像这样(使用ASP.NET MVC示例,因为我的经典ASP.NET技能正在变得生疏):

<%= Url.Content( "~/images/logo.png" ) %>

要将它们映射到与默认路径不同的路径,您可以定义匹配所有* .png文件(以及任何其他使用的格式)的自定义路由,或者引入您自己的帮助程序扩展,以便您可以将上述内容重写为某些内容像这样:

<%= Url.Static( "~/images/logo.png" ) %>

答案 1 :(得分:0)

  • 手动更换所有匹配项
  • 使用继承自System.Web.UI.WebControls.Image的自定义图像类,以便对图像路径的行为进行配置

答案 2 :(得分:0)

最简单的就像是@ TBohnen.jnr所说的

  

为什么不进行查找和替换   (ctrl + H)并替换“../../ images/”   与'static.domain.com/images/'有风险   但应该是最简单的吗?

答案 3 :(得分:0)

您可以编写一个httmhandler来处理.png文件,并在那里更改其地址。 另一种方法是按ctrl + f并在整个解决方案中找到并用你的新地址替换../../,这需要一分钟。