MVC应用程序中图像和js文件的相对URL - 本地和生产服务器上的diff行为

时间:2011-03-13 17:37:52

标签: asp.net html css asp.net-mvc-2 url

我有一个MVC网络应用程序,我的views \文件夹中的网址如下:

<img src="../../Images/Delete.png"/>

正在我的localhost上工作,但当我在生产服务器上部署应用程序时,他们停止工作,当我使用单个“..”而不是双“../ ..”时,他们开始在生产服务器上工作。

为什么会这样?

2 个答案:

答案 0 :(得分:2)

这种情况正在发生,因为您可能在生产服务器中有一个虚拟目录,而不是在localhost上。所以始终在处理网址时使用网址助手,而不是像在示例中那样硬编码:

<img src="<%= Url.Content("~/Images/Delete.png") %>" />

您只能在CSS文件中使用相对路径(例如,对于背景图像)。内部CSS文件路径是相对于CSS的位置,但是CSS本身的包含当然应该使用帮助程序来完成:

<link href="<%= Url.Content("~/Content/Site.css") %>" rel="stylesheet" type="text/css" />

答案 1 :(得分:1)

生产服务器上映像目录的相对路径必须不同。

您需要确保在开发服务器上的目录布局与生产服务器上的相同。