private string CreateLoadScript() { string templatepath = WebMaster.GetStaticResourceUrl(TemplateSrc).Replace(".ascx", ".tt"); // VirtualPathUtility.ToAbsolute(TemplateSrc).Replace(".ascx",".tt"); StringBuilder sb = new StringBuilder(); sb.Append("$(function () {"); sb.AppendFormat(" __initprmsData_{0}(); obj_{0}.SetHolder(\"{0}\");", this.ID, this.ID); sb.AppendFormat("obj_{0}.setTemplate(\"{1}\");", this.ID, string.Format("{0}&__mode=0", templatepath)); //构造smart搜索对象。 //sb.Append(""); sb.AppendFormat(" obj_{0}._dataUrl = \"{1}\";", this.ID, templatepath); sb.AppendFormat(" obj_{0}._prmsData = {1};", this.ID, ParameterName); if (AutoLoadData) { if (this._PreloadParameters.Count > 0 || !string.IsNullOrEmpty(this._PreloadParamters_JsonFormat)) { sb.AppendFormat(" obj_{0}.onSearchButtonClicked(obj_{0},true);obj_{0}.loadData(); ", this.ID); } else { sb.AppendFormat(" obj_{0}.S(true); ", this.ID); } } if (!string.IsNullOrEmpty(DownloadControlID)) { //初始化下载按钮点击事件 //sb.AppendFormat(" $(\"#{0}\").click(function () ", DownloadControlID); //sb.Append("{ obj.download(); });"); sb.AppendFormat("obj_{0}.setD(\"{1}\");", this.ID, DownloadControlID); } if (!string.IsNullOrEmpty(DownloadALLControlID)) { //初始化下载按钮点击事件 //sb.AppendFormat(" $(\"#{0}\").click(function () ", DownloadControlID); //sb.Append("{ obj.download(); });"); sb.AppendFormat("obj_{0}.setDA(\"{1}\");", this.ID, DownloadALLControlID); } if (!string.IsNullOrEmpty(SearchControlID)) { sb.AppendFormat("obj_{0}.setS(\"{1}\");", this.ID, SearchControlID); } sb.Append(" }) "); return(sb.ToString()); }
//private string GetCachedUrl(string rootRelativePath) //{ // if (HttpRuntime.Cache[rootRelativePath] == null) // { // string abs_url = HostingEnvironment.MapPath(rootRelativePath); // string resourceUrl = VirtualPathUtility.ToAbsolute(rootRelativePath); // DateTime dt= System.IO.File.GetLastWriteTime(abs_url); // string rt=string.Format("{0}{1}_ver={2}",resourceUrl,(resourceUrl.Contains("?") ? "&":"?"),dt.Ticks); // HttpRuntime.Cache.Insert(rootRelativePath, rt, new System.Web.Caching.CacheDependency(abs_url)); // return rt; // } // else // return HttpRuntime.Cache[rootRelativePath] as string; //} protected override void Render(HtmlTextWriter writer) { if (this.DesignMode) { base.Render(writer); return; } else { string resourceUrl = WebMaster.GetStaticResourceUrl( this.MinFileMode ? string.Format("{0}.min.{1}", _Src.Replace((this.ScriptType == ScriptTypes.Javascript ? ".js" : ".css"), ""), (this.ScriptType == ScriptTypes.Javascript ? "js" : "css")) : _Src); //GetCachedUrl(_Src); //if (resourceUrl.Contains("?")) //{ // resourceUrl = string.Format("{0}&_ver_={1}", resourceUrl, G.AppVersion); //} //else //{ // resourceUrl = string.Format("{0}?_ver_={1}", resourceUrl, G.AppVersion); //} if (this._ScriptType == ScriptTypes.Javascript) { writer.WriteBeginTag("script"); writer.WriteAttribute("type", "text/javascript"); if (!string.IsNullOrEmpty(Src)) { writer.WriteAttribute("src", resourceUrl); } writer.Write(HtmlTextWriter.TagRightChar); writer.WriteEndTag("script"); } else { writer.WriteBeginTag("link"); writer.WriteAttribute("type", "text/css"); writer.WriteAttribute("rel", "Stylesheet"); if (!string.IsNullOrEmpty(Src)) { writer.WriteAttribute("href", resourceUrl); } writer.Write(HtmlTextWriter.TagRightChar); writer.WriteEndTag("link"); } } }
/// <summary> /// 初始化搜索中间变量。 /// </summary> /// <returns></returns> private string CreateInitScript() { StringBuilder sb = new StringBuilder(); //输入额外定义的模版数组 if (!string.IsNullOrEmpty(this.AlternateTemplateUrls)) { string[] parts = this.AlternateTemplateUrls.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); sb.AppendFormat(" var {0}_templates=[", this.ID); sb.AppendFormat("\"{0}\"", WebMaster.GetStaticResourceUrl(TemplateSrc).Replace(".ascx", ".tt")); foreach (string s in parts) { sb.AppendFormat(",\"{0}\"", WebMaster.GetStaticResourceUrl(s).Replace(".ascx", ".tt")); } sb.Append("];"); } ParameterName = this.ID + "_" + ParameterName; sb.AppendFormat(" var obj_{0}; ", this.ID); sb.AppendFormat("var {0}={{}};", ParameterName); sb.AppendFormat("function __initprmsData_{0}() {{", this.ID); sb.AppendFormat(" obj_{0}= new smart();", this.ID); #if DEBUG if (this.DebugMode) { sb.AppendFormat("obj_{0}.debug={1};", this.ID, this.DebugMode.ToString().ToLower()); } #endif sb.AppendFormat("obj_{0}.enableColunmFilter={1};", this.ID, this.EnableColumnFilter.ToString().ToLower()); sb.AppendFormat("obj_{0}.useCache={1};", this.ID, this.UseRequestCache.ToString().ToLower()); sb.AppendFormat("obj_{0}.paginationType={1};", this.ID, (int)this.PaginationType); if (this.HttpMethod == RequestMethod.Post) { sb.AppendFormat("obj_{0}.httpType={1};", this.ID, (int)this.HttpMethod); } if (!string.IsNullOrEmpty(AfterDataLoadedFunc)) { sb.AppendFormat("obj_{0}.onDataLoaded={1};", this.ID, this.AfterDataLoadedFunc); } if (!string.IsNullOrEmpty(OnSearchBtnClickedFunc)) { sb.AppendFormat("obj_{0}.onSearchButtonClicked={1};", this.ID, this.OnSearchBtnClickedFunc); } if (!string.IsNullOrEmpty(OnSearchBtnClickingFunc)) { sb.AppendFormat("obj_{0}.onSearchButtonClicking={1};", this.ID, this.OnSearchBtnClickingFunc); } if (!string.IsNullOrEmpty(InitParameterFunc)) { sb.AppendFormat("obj_{0}.initP={1};", this.ID, this.InitParameterFunc); } if (!string.IsNullOrEmpty(this.SearchCheckFuc)) { sb.AppendFormat("obj_{0}.canSearch={1};", this.ID, this.SearchCheckFuc); } if (!string.IsNullOrEmpty(this.HandleRetDataFuc)) { sb.AppendFormat("obj_{0}.handleRetData={1};", this.ID, this.HandleRetDataFuc); } if (!string.IsNullOrEmpty(this.HiddenColunms)) { string[] parts = this.HiddenColunms.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (parts.Length > 0) { StringBuilder sbparts = new StringBuilder("["); for (int i = 0; i < parts.Length; i++) { sbparts.AppendFormat("\"{0}\"", parts[i].ToLower()); if (i < parts.Length - 1) { sbparts.Append(","); } } sbparts.Append("]"); sb.AppendFormat("obj_{0}._hiddenCols={1};", this.ID, sbparts.ToString()); } } if (!string.IsNullOrEmpty(PreloadParamters_JsonFormat)) { sb.AppendFormat("{0}={1};", ParameterName, PreloadParamters_JsonFormat); } sb.AppendFormat("{0}._orderindex={1};", ParameterName, this.DefaultOrderIndex); sb.AppendFormat("{0}._ordertype={1};", ParameterName, (int)this.OrderType); sb.AppendFormat("{0}.__mode = 1;", ParameterName); sb.AppendFormat("{0}._pageIndex = 0;", ParameterName); sb.AppendFormat("{0}._pageSize = {1};", ParameterName, PageSize); if (this._PreloadParameters.Count > 0) { foreach (KeyValuePair <string, string> p in this._PreloadParameters) { sb.AppendFormat("{0}.{1} = '{2}';", ParameterName, p.Key, p.Value); } } sb.Append("}"); return(sb.ToString()); }