国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net Bundle功能擴展

2024-07-10 13:23:39
字體:
來源:轉載
供稿:網友
前言
新建Asp.net MVC4項目的時候,在Global.asax.cs里面發(fā)現多了一句代碼
BundleConfig.RegisterBundles(BundleTable.Bundles)
google了以后終于弄清楚了這個的作用,發(fā)現這個東西確實非常實用,且功能強大,能夠壓縮合并js和CSS,但是目前的使用起來不是特別好,如果添加js或者css文件的話,需要修改BundleConfig的代碼。
這里我自己簡單修改了BundleConfig,對這個進行簡單的擴展。
下面貼出代碼:
先貼配置文件BundleConfig.xml(文件放在網站目錄下路徑見代碼中變量BundleConfigPath)

復制代碼 代碼如下:


<?xml version="1.0" encoding="utf-8" ?>
<root>
<Scripts>
<Script Path="~/bundles/jquery">
<File>~/Scripts/jquery-{version}.js</File>
</Script>
<Script Path="~/bundles/jqueryui">
<File>~/Scripts/jquery-ui-{version}.js</File>
</Script>
<Script Path="~/bundles/jqueryval">
<File>~/Scripts/jquery.unobtrusive*</File>
<File>~/Scripts/jquery.validate*</File>
</Script>
<Script Path="~/bundles/modernizr">
<File>~/Scripts/modernizr-*</File>
</Script>
<Script Path="~/bb/aa">
<File>~/Views/Home/addda.js</File>
</Script>
</Scripts>
<Styles>
<Style Path="~/Content/themes/base/css">
<File>~/Content/themes/base/jquery.ui.core.css</File>
<File>~/Content/themes/base/jquery.ui.resizable.css</File>
<File>~/Content/themes/base/jquery.ui.selectable.css</File>
<File>~/Content/themes/base/jquery.ui.accordion.css</File>
<File>~/Content/themes/base/jquery.ui.autocomplete.css</File>
<File>~/Content/themes/base/jquery.ui.button.css</File>
<File>~/Content/themes/base/jquery.ui.dialog.css</File>
<File>~/Content/themes/base/jquery.ui.slider.css</File>
<File>~/Content/themes/base/jquery.ui.tabs.css</File>
<File>~/Content/themes/base/jquery.ui.datepicker.css</File>
<File>~/Content/themes/base/jquery.ui.progressbar.css</File>
<File>~/Content/themes/base/jquery.ui.theme.css</File>
</Style>
<Style Path="~/Content/css">
<File>~/Content/site.css</File>
</Style>
</Styles>
</root>


代碼文件:BundleConfig.cs

復制代碼 代碼如下:


public class BundleConfig
{
public static string BundleConfigPath = "~/Config/BundleConfig.xml";
/// <summary>
/// Register Bundles From XML
/// </summary>
/// <param></param>
public static void RegisterBundles(BundleCollection bundles)
{
XmlDocument doc = new XmlDocument();
doc.Load(HttpContext.Current.Server.MapPath(BundleConfigPath));
XmlNode root = doc.DocumentElement;
// Regester Script
XmlNodeList ScriptList = root.SelectNodes("Scripts/Script");
if (ScriptList != null && ScriptList.Count > 0)
{
foreach (XmlNode node in ScriptList)
{
string path = CheckNodeRegedit(node);
if (string.IsNullOrEmpty(path)) continue;
var bound = new ScriptBundle(path);
List<string> files = GetFilesFormNode(node);
if (files.Count > 0)
{
bound.Include(files.ToArray());
bundles.Add(bound);
}
}
}
// Regester Style
XmlNodeList StyleList = root.SelectNodes("Styles/Style");
if (StyleList != null && StyleList.Count > 0)
{
foreach (XmlNode node in StyleList)
{
string path = CheckNodeRegedit(node);
if (string.IsNullOrEmpty(path)) continue;
var bound = new StyleBundle(path);
List<string> files = GetFilesFormNode(node);
if (files.Count > 0)
{
bound.Include(files.ToArray());
bundles.Add(bound);
}
}
}
doc = null;
}
/// <summary>
/// 如果內容為空則不添加
/// </summary>
/// <param></param>
/// <returns></returns>
private static List<string> GetFilesFormNode(XmlNode node)
{
List<string> files = new List<string>();
foreach (XmlNode nodeFile in node.ChildNodes)
{
if (!string.IsNullOrEmpty(nodeFile.InnerText.Trim()))
files.Add(nodeFile.InnerText.Trim());
}
return files;
}
/// <summary>
/// 檢查注冊的Node
/// </summary>
/// <param></param>
/// <returns></returns>
private static string CheckNodeRegedit(XmlNode node)
{
XmlAttribute pathAtt = node.Attributes["Path"];
string path = string.Empty;
if (pathAtt == null || string.IsNullOrEmpty(pathAtt.Value.Trim()) || node.ChildNodes.Count == 0)
return string.Empty;
else
return pathAtt.Value.Trim();
}
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 治县。| 玉门市| 兰溪市| 论坛| 宝丰县| 云和县| 桦川县| 佳木斯市| 嘉兴市| 嘉定区| 军事| 武乡县| 炉霍县| 丹阳市| 乃东县| 克山县| 吴江市| 大连市| 耿马| 漯河市| 宽城| 哈尔滨市| 海安县| 杨浦区| 泰兴市| 秦皇岛市| 木兰县| 卓资县| 包头市| 花莲县| 雅江县| 时尚| 达州市| 泗阳县| 遂溪县| 东乡| 重庆市| 南木林县| 社会| 广南县| 信阳市|