我有这个捆绑配置:
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 / image.png。我不想编辑CSS文件路径,因为许多其他页面正在使用它。你知道它的任何解决方案,还是我在捆绑中错过了配置?
答案 0 :(得分:11)
您需要应用CssRewriteUrlTransform
来解决此问题:
bundles.Add(new StyleBundle("~/styles/style1")
.Include("~/Content/styles/style1", new CssRewriteUrlTransform())
或者,您也可以在样式表中使用绝对路径。
PS:如评论中所述,您必须通过Codeplex或NuGet将 Web Optimization Package 添加到您的项目中才能使用CssRewriteUrlTransform类