【发布时间】:2015-11-12 08:22:28
【问题描述】:
我知道合并 CSS 文件可能会影响网站的性能,但在我的情况下,我有以下情况。
我的 ASP.NET 应用程序有 4 个颜色主题
- 默认
- 红色
- 紫色
- 绿色
我写了一些 javascript 来启用或禁用网站上的样式表
$("link[href='/Content/Style.css']").removeAttr('disabled');
$("link[href='/Content/Purple.css']").attr('disabled', 'disabled');
当我在本地调试项目时效果很好。
问题是当我发布到 IIS 时。
显然 IIS 将 CSS 文件合并到一个文件中(见下文),我的 javascript 无法工作,因为它找不到 CSS 链接。
<link href="/Content/styles?v=LJz1gcJyVEK_Atj5S7zoyR1lIdMwZ5IJIZn8ff329wQ1" rel="stylesheet">
有没有办法让 IIS 不合并 CSS 文件?
或者你对如何实现这个有更好的建议吗?
【问题讨论】:
-
IIS 不合并 CSS,ASP.NET 可以。您需要查看您的
Bundling.cs文件并从样式包中删除必要的文件。您还需要更新布局以手动添加这些文件 -
您可以使用颜色主题创建几个捆绑包
-
RGaham 谢谢你,这确实有效,我从我的 Bundle 中删除了样式并将它们硬编码到 _Layout 中。
-
@Morpheus 你的意思是我为每个主题创建一个包。然后我使用 Javascript 来启用/禁用 Bundle?
-
@Christos312 完全正确
标签: javascript css asp.net iis