代码之家  ›  专栏  ›  技术社区  ›  rajeemcariazo

MVC4捆绑误导背景图像url

  •  4
  • rajeemcariazo  · 技术社区  · 11 年前

    我有这样的绑定配置:

    bundles.Add(new StyleBundle("~/styles/style1").Include("~/Content/library/styles/style1.css")
    

    然后我添加了以下代码来呈现捆绑的CSS:

    @Styles.Render("~/styles/style1")
    

    我的CSS包含以下内容:

    .style1 {
      background-image: url("../img/image.png");
    }
    

    由于绑定,背景图像的路径被错误地指向~/Content/library/img/image.png,而不是~/img/iimage.png。我不想编辑CSS文件路径,因为许多其他页面都在使用它。你知道有什么解决方案吗?或者我在绑定中缺少配置吗?

    1 回复  |  直到 11 年前
        1
  •  11
  •   haim770    10 年前

    你需要应用 CssRewriteUrlTransform 要解决此问题:

    bundles.Add(new StyleBundle("~/styles/style1")
                    .Include("~/Content/styles/style1", new CssRewriteUrlTransform())
    

    或者,您也可以在样式表中使用绝对路径。

    附笔: 如评论中所述,您必须添加 Web Optimization Package 通过Codeplex或NuGet添加到您的项目,以便能够使用CssWriteUrlTransform类