【发布时间】:2012-07-19 18:50:05
【问题描述】:
我刚开始使用 VS 2012 RC。我创建了一个带有母版页和单个 Web 表单的测试站点。目前,我正在使用此代码捆绑网站上的整个 Styles 文件夹:
Global.asax
BundleTable.Bundles.EnableDefaultBundles();
Site.master
<link rel="stylesheet" type="text/css" href="Styles/css" />
问题:测试网站有一个网站级 CSS 文件,用于控制网站的整体外观。除了站点级 CSS,每个页面可以有自己的 CSS 定义。是否可以在母版页中仅包含 site.css 文件,然后根据每个页面的需要有条件地将 .css 文件添加到包中?
我在Default.aspx 后面的代码中尝试了这个,但没有成功:
BundleTable.Bundles.Add(new Bundle("~/Styles/Default.css"));
【问题讨论】:
-
如果你只是在master中加载site.css然后是页面css文件,那你为什么要捆绑?
-
@TimBJames,我正在加载整个文件夹的内容。我想在母版页中仅加载站点级 CSS,然后根据需要将其他 CSS 文件与它捆绑在一起。
-
第一次读到这个。这不是违背捆绑的目的吗?毕竟,如果没有捆绑,您将在第一次加载时加载 site.css 和 page1.css,然后在转到第 2 页时,它只会加载第 3 页的 page2.css、page3.css 等。假设页面特定的 CSS 文件通常比一般站点小得多,通过捆绑您将在每个页面中加载不同的大文件,而在没有捆绑的情况下您将在每个页面中加载一个小文件,唯一的改进将是您需要的第一页加载 1 个文件而不是 2 个(总大小相同)
标签: c# asp.net css visual-studio-2012 bundling-and-minification