详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
JqueryEasyUItree的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)具体代码如下:
privatevoidSMT(HttpContextcontext) { stringSqlConnection82=System.Configuration.ConfigurationManager.AppSettings["LocalConnectionString"]; stringpath=context.Server.MapPath(@"~/CISWeb/SMT_SOP"); stringid=string.Empty; List<string>filesNameList=getFiles(path); if(filesNameList.Count>0) context.Response.Write(ListToJson(filesNameList,id)); else { context.Response.Write("0"); } } ///<summary> ///范围指定目录下的文件夹/文件数量 ///</summary> ///<paramname="path"></param> ///<returns></returns> privatestaticList<string>getFiles(stringpath) { DirectoryInfoSMT_SOP=newDirectoryInfo(path); List<string>allFileList=newList<string>(); DirectoryInfo[]allDir=SMT_SOP.GetDirectories();//获取文件夹数量 foreach(DirectoryInfodinallDir) { allFileList.Add("0|"+d.Name); } FileInfo[]allFile=SMT_SOP.GetFiles();//获取文件数量 foreach(FileInfofiinallFile) { allFileList.Add("1|"+fi.Name); } returnallFileList; } ///<summary> ///遍历指定文件夹,根据文件夹内的文件返回JSON ///</summary> ///<paramname="filesNameList"></param> ///<paramname="id">第一次调用这个方法的时候,id=""</param> ///<returns></returns> publicstringListToJson(List<string>filesNameList,stringid) { StringBuildersb2=newStringBuilder(); sb2.Append("["); for(inti=0;i<filesNameList.Count;i++) { if(filesNameList[i].ToString().Split('|')[0]=="0") { sb2.Append("{\"id\":"+id+(i+1).ToString()+",\"text\":\""+filesNameList[i].ToString().Split('|')[1]+"\",\"state\":\"closed\",\"children\":["); sb2.Append("]},"); } else { sb2.Append("{\"id\":"+id+(i+1).ToString()+",\"text\":\""+String.Format(filesNameList[i].ToString().Split('|')[1])+"\"},"); } } sb2.Remove(sb2.Length-1,1); sb2.Append("]"); returnsb2.ToString(); }
前台
$.ajax({ type:"post", url:"../../ajax/Handler.ashx?action=SMT", data:{}, success:function(result){ $("#menuDiv").dialog("open");//jQueryUI中的模态窗口 vartreeData=eval(result); $("#tt").tree({ data:treeData}) } })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。