Url.Content在ASP.NET MVC 5中不起作用

时间:2014-06-21 13:16:01

标签: asp.net razor asp.net-mvc-5

我的图像存储在Content/Images文件夹中。现在我想在CSS中使用其中一个作为背景。我在互联网上找到了一些我应该使用Url.Content("~/Content/Images")来引用我的文件的东西。

我写了这样的话:

#main_background {
    background-image: url('@Url.Content("~Content/Images/background_car.png")');
    background-repeat: no-repeat;
    position: absolute;
    width: 100%;
    height: 100%;
}

在我的捆绑包的配置文件中:

bundles.Add(new StyleBundle("~/Content/layout_css").Include("~/Content/layout.css"));

当我在HTML中预览Chrome's view:source代码时,我发现根本没有解析任何内容。 CSS看起来与上面相同。

后来我尝试将其更改为:

#main_background {
    background-image: url('Images/background_car.png');
    background-repeat: no-repeat;
    position: absolute;
    width: 100%;
    height: 100%;
}

在捆绑中:

bundles.Add(new StyleBundle("~/Content/layout_css").Include("~/Content/layout.css", new CssRewriteUrlTransform()));

它开始工作,但我在一些文章中看到我应该使用第一种方法。为什么我有问题呢? Razor引擎是否有义务解析Url.Content引用?

1 个答案:

答案 0 :(得分:1)

你不能在css中使用任何剃刀语法,因此它永远不会起作用。