添加〜相对网址

时间:2012-06-27 18:35:35

标签: asp.net html

我在我的项目中使用了一些相对网址,例如<img src="../images/portal_header.jpg" .../>,但我们的顾问坚持要求我将每个网址更改为~/images/...,因为它们是html控件,我必须添加{{1} }每个标签,所以我的问题是,这是必要的吗?我有几个主页,它使所有的js链接和css链接未达到。感谢

3 个答案:

答案 0 :(得分:1)

控件可以存在于任何子文件夹中,并被许多不同子文件夹中的许多不同页面引用。 ../在每种情况下都不起作用。

因此,您需要解析网址:

ResolveUrl("~/images/myimage.jpg")

而且,不,你不必添加runat="server",你可以这样做:

<img src="<% =ResolveUrl("~/images/portal_header.jpg") %>" .../>

答案 1 :(得分:0)

这在很大程度上取决于背景。只要相关资源的位置不会发生变化,使用相对URL就可以正常工作。将所有图像标记转换为控件确实为您提供了使用“〜”(App Root)的好处,但它也增加了在服务器上处理的开销。

您的顾问可能会试图保护您免受常见问题的困扰。您的所有相关链接在开发中都可以正常工作(“http:// localhost / site”),但在您转到生产时会中断(“http://www.yourdomain.com/somelocation/”)。

答案 2 :(得分:0)

不确定您使用的是哪个ASP版本,但我使用@Url.Content("~/relativepath")使用MVC3 w / Razor的ASP4

<img src="@Url.Content("~/relativepath")" alt="" />