【问题标题】:Url.Content doesn't work in ASP.NET MVC 5Url.Content 在 ASP.NET MVC 5 中不起作用
【发布时间】:2023-03-08 22:10:01
【问题描述】:

我的图像存储在Content/Images 文件夹中。现在我想在CSS 中使用其中一个作为背景。我在 Internet 上找到了一些我应该使用 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"));

当我预览Chrome's view:source 中的HTML 代码时,我发现根本没有解析任何内容。 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 引用吗?

【问题讨论】:

  • 只解析视图,不解析 CSS 文件或其他任何东西。
  • 老实说,我只是使用一个好的相对路径并在我的 HTML 中使用一个基本标记,这将使您对 asp.net 的依赖减少很多,并且无论如何都可以在任何地方工作。
  • 哦,所以我不能在CSS中使用它:S我发现了一些错误的文章:/正在谈论Url.Content的人,在CSS文件中使用了它跨度>
  • 好吧,至少默认情况下不会。 stackoverflow.com/questions/4492748/dynamic-css-for-asp-net-mvc 但是在你的 CSS 中你应该只使用 @BenjaminGruenbaum 说的相对路径。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多