欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)

程序员文章站 2022-05-15 23:23:14
jquery easyui tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)具体代码如下: private void smt(httpcon...

jquery easyui tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)具体代码如下:

private void smt(httpcontext context)
 {
  string sqlconnection82 = system.configuration.configurationmanager.appsettings["localconnectionstring"];
  string path = context.server.mappath(@"~/cisweb/smt_sop");
  string id = string.empty;
  list<string> filesnamelist = getfiles(path);
  if (filesnamelist.count > 0)
   context.response.write(listtojson(filesnamelist,id));
  else
  {
   context.response.write("0");
  }  
 }
 /// <summary>
 /// 范围指定目录下的 文件夹/文件 数量
 /// </summary>
 /// <param name="path"></param>
 /// <returns></returns>
 private static list<string> getfiles(string path)
 {
  directoryinfo smt_sop = new directoryinfo(path);
  list<string> allfilelist = new list<string>();
  directoryinfo[] alldir = smt_sop.getdirectories();//获取文件夹数量
  foreach (directoryinfo d in alldir)
  {
   allfilelist.add("0|" + d.name);
  }
  fileinfo[] allfile = smt_sop.getfiles();//获取文件数量
  foreach (fileinfo fi in allfile)
  {
   allfilelist.add("1|" + fi.name);
  }
  return allfilelist;
 }
 /// <summary>
 /// 遍历指定文件夹,根据文件夹内的文件返回json
 /// </summary>
 /// <param name="filesnamelist"></param>
 /// <param name="id">第一次调用这个方法的时候,id=""</param>
 /// <returns></returns>
 public string listtojson(list<string> filesnamelist,string id)
 { 
  stringbuilder sb2 = new stringbuilder();
  sb2.append("[");
  for (int i = 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("]");  
  return sb2.tostring();
 }

前台

$.ajax({
   type: "post",
   url: "../../ajax/handler.ashx?action=smt",
   data: {},
   success: function (result) {
    $("#menudiv").dialog("open");//jquery ui中的模态窗口
    var treedata = eval(result);
    $("#tt").tree({
     data: treedata})
    }
   })

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。