Esempio n. 1
0
        /// <summary>
        /// JS脚本资源分组绑定
        /// </summary>
        /// <param name="name">JS脚本资源绑定名称</param>
        /// <param name="groupName">分组名称</param>
        /// <param name="scripts">JS脚本路径数组 如果为空就绑定分组,如果有知道资源就重新生成资源绑定</param>
        public static void BundlesGroup(string name, string groupName, params string[] scripts)
        {
            if (BundleScripts.ContainsKey(name))
            {
                return;
            }
            //获取绑定分组对象
            Bundles gb = null;

            if (BundleScripts.ContainsKey(groupName))
            {
                gb = BundleScripts[groupName];
            }

            if (scripts.Count() == 0)
            {
                //未设置其他资源
                if (gb != null)
                {
                    BundleScripts.Add(name, gb);
                }
            }
            else
            {
                //重新生成资源绑定
                if (gb != null)
                {
                    //获取分组的资源
                    scripts = gb.item.Concat(scripts).ToArray();
                }
                BundlesAdd(name, scripts);
            }
        }
Esempio n. 2
0
        public static IHtmlString Render()
        {
            RequestContext filterContext = HttpContext.Current.Request.RequestContext;
            string         controller    = filterContext.RouteData.Values["controller"].ToString();
            string         action        = filterContext.RouteData.Values["action"].ToString();
            object         area          = filterContext.RouteData.Values["area"];
            string         name          = string.Format("{0}/{1}/{2}", area, controller, action);

            //获取页面定位
            if (!BundleScripts.ContainsKey(name))
            {
                name = BasisName;
            }
            Bundles b = BundleScripts[name];

            IHtmlString html = Scripts.Render(b.virtualPath);

            return(html);
        }
Esempio n. 3
0
 /// <summary>
 /// JS脚本资源绑定添加
 /// </summary>
 /// <param name="name">JS脚本资源绑定名称</param>
 /// <param name="scripts">js脚本路径数组</param>
 public static void BundlesAdd(string name, params string[] scripts)
 {
     if (!BundleScripts.ContainsKey(name))
     {
         string virtualPath = "~/" + Md5.HalfEncryptHexString(name + "/Script");
         BundleTable.Bundles.Add(new ScriptBundle(virtualPath).Include(scripts));
         Bundles b = new Bundles()
         {
             item        = scripts,
             name        = name,
             virtualPath = virtualPath
         };
         if (BundleScripts.Count == 0 && string.IsNullOrEmpty(BasisName))
         {
             BasisName = name;
         }
         BundleScripts.Add(name, b);
     }
 }
        protected virtual void AddPageScripts()
        {
            BundleScripts scripts = new BundleScripts(Request.Url.AbsolutePath);

            AddHTMLToBody(scripts.GenerateScriptList());
        }