详解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})
}
})
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。