css - MVC jQuery UI CSS url 在部署后无法解析

标签 css asp.net-mvc-4

标题几乎说明了一切。 在 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
instead of
http:// (serverName)/(appName)/content/themes/base/images...

Here is the bundle config:

bundles.Add(new StyleBundle("~/Content/css").Include(
            "~/Content/themes/base/jquery-ui.css",
            "~/Content/site.css"
));

如何使这些 URL 正确解析?

最佳答案

Ufuk 的回答让我开始思考。将应用程序名称附加到包的虚拟路径的前面破坏了我所有的样式。

bundle 函数获取 include 语句中的所有 CSS 文件,并将它们压缩到一个文件中,该文件位于 bundle 的虚拟路径中指定的 URL 中。此包中包含的 CSS 文件中指定的 url 使用包的给定虚拟路径在运行时构建其 URL。这在 dev 中运行良好,因为 dev 不使用包,它单独/直接引用每个 css 文件。

解决方案是使用正确的虚拟路径创建一个包:

bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
                    "~/Content/themes/base/jquery-ui.css")):

感谢 Ufuk 的建议和指导。

关于css - MVC jQuery UI CSS url 在部署后无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18184911/

相关文章:

c# - 下拉列表的动态列表

javascript - 我的 ajax 调用应该是什么样子 - jQuery、MVC4?

jquery - 如何从 jquery 回调将参数传递给 Controller ​​操作方法?

jquery - DOM 元素虚拟值或映射值

html - 随后在 CSS 中选择子元素

android - 为什么使用输入标签在 chrome android 中显示我的页面时会得到不同的字体大小

asp.net-mvc - IF ELSE Razor View 中的 html 助手?

ajax - 通过 ASP.NET MVC 4 中的查询字符串传递特殊字符

html - 全宽居中菜单 Bootstrap

表格 Rowspan 与 Fluid Height 的 CSS 等价物