ASP.NET MVC2:如何为CSS文件中的图像链接设置路径

时间:2010-07-05 06:12:04

标签: c# css asp.net-mvc-2

我的应用程序我们在CSS文件中设置了图像补丁,如下所示

.HeaderShodow {
    background:url('../../App_Images/HeaderShodow.gif') repeat-x top left;
    height:5px;
}

当我们将此应用程序移动到iss6服务器时,图像是否已呈现

我们已经在aspx文件中发送了css / image / script链接,如下所示

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

但是如何在css文件中设置图像链接的时间

由于

2 个答案:

答案 0 :(得分:0)

这不起作用的原因是因为IIS中附加了虚拟目录名称。要避免此问题,请确保始终使用正确的帮助程序包含CSS文件,并且不要对位置进行硬编码:

<!-- Notice the ~ in the href attribute which points to the root of the application -->
<link rel="stylesheet" href="<%= Url.Content("~/styles/somestyle.css") %>" type="text/css" />

然后在css文件中确保图像路径相对于此CSS文件的位置。

答案 1 :(得分:0)

我的建议,因为CSS图像URL与CSS文件本身相关,就是将图像文件夹与CSS文件本身放在同一目录中。

所以你的目录看起来像是:

  

/Content/site.css
  /Content/Images/blah.png

这意味着您可以在CSS文件中引用如下图像:

.myClass
{
    background-image: url('Images/blah.png');
}

如果在您的HTML中使用Url.Content()代码引用CSS,您将始终获得正确的路径。

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