1 //自己拓展HtmlHelper
public static IHtmlString Script(this HtmlHelper helper, params string[] urls)
2 {
3 var bundleDirectory = "~/bundles/scripts/" + MakeBundleName(".js", urls);
4 var thisBundle = new ScriptBundle(bundleDirectory).Include(urls);
5 BundleTable.Bundles.Add(thisBundle); return Scripts.Render(bundleDirectory);
6 }
7 public static IHtmlString Style(this HtmlHelper helper, params string[] urls)
8 {
9 var bundleDirectory = "~/bundles/styles/" + MakeBundleName(".css", urls);
10 var thisBundle = new StyleBundle(bundleDirectory).Include(urls);
11 BundleTable.Bundles.Add(thisBundle);
12 return Styles.Render(bundleDirectory);
13 }
14 private static string MakeBundleName(string type, params string[] urls)
15 {
16 var bundleSections = new List();
17 foreach (var item in urls)
18 {
19 bundleSections.Add(item.Replace("~/", "").Replace("/", "_").Replace(type, ""));
20 }
21 return string.Join(";", bundleSections.ToArray());
22 }
对HtmlHelper进行扩展过后,在前台页面进行,将文件并排包入包中,然后扩展的Helper会把这些CSS进行压缩
1 @section head{
2 @Html.Style("~/Content/alice/box/box.css",
3 "~/Content/Alice/box/theme/orange.css",
4 "~/Content/Alice/tab/tab.css",
5 "~/Content/Benefits/CentralPurchasing.css",
6 "~/Content/Benefits/Index.css")
7 }
经过压缩过后,浏览器仍然可以识别css和js的代码,并且减小了文件的大小,浏览速度大大的提高!
效果在项目发布后可以体现出来,所以记得配置IIS。