这个标题几乎说明了一切.
在 jquery-ui.css中,它定义了像
在 jquery-ui.css中,它定义了像
ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/* color: #222222/*{fcContent}*/; }
这在开发中运行正常,但是一旦部署了url就不再解决了.该站点部署在IIS7中的默认网站下.所以在浏览器控制台中,我可以看到它在寻找图像
http:// (servername)/(appName)/Content/images/ui-bg_glass_75_e6e6e6_1x400.png
代替
http:// (serverName)/(appName)/content/themes/base/images...
这是捆绑配置:
bundles.Add(new StyleBundle("~/Content/css").Include( "~/Content/themes/base/jquery-ui.css","~/Content/site.css" ));
如何使这些网址正确解决?
解决方法
Ufuk的答案让我有想法将应用程序名称附加到包的虚拟路径的前端打破了我的所有样式.
bundle函数将include语句中的所有CSS文件,并将它们分解成位于bundle的虚拟路径中指定的URL的一个文件中.该包中包含的CSS文件中指定的URL使用捆绑包的给定虚拟路径在运行时建立其URL.这在dev中工作正常,因为dev不使用bundle,它会单独/直接引用每个css文件.
解决方案是创建一个包含正确虚拟路径的bundle:
bundles.Add(new StyleBundle("~/Content/themes/base/css").Include( "~/Content/themes/base/jquery-ui.css")):
感谢Ufuk的建议和指导.