当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)

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

2019年03月26日  | 移动技术网IT编程  | 我要评论

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})
    }
   })

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网