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


Posted in Javascript onFebruary 11, 2017

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

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

Javascript 相关文章推荐
idTabs基于JQuery的根据URL参数选择Tab插件
Apr 11 Javascript
JavaScript制作简易的微信打飞机
Mar 31 Javascript
AngularJS单选框及多选框实现双向动态绑定
Jan 13 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
May 24 Javascript
Vue2.x中的父组件传递数据至子组件的方法
May 01 Javascript
使用Node.js实现简易MVC框架的方法
Aug 07 Javascript
微信小程序数据存储与取值详解
Jan 30 Javascript
基于 D3.js 绘制动态进度条的实例详解
Feb 26 Javascript
分享5个顶级的JavaScript Ajax组件库
Sep 16 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
Feb 28 Javascript
vue项目使用.env文件配置全局环境变量的方法
Oct 24 Javascript
微信小程序实现canvas分享朋友圈海报
Jun 21 Javascript
JavaScript实现瀑布流以及加载效果
Feb 11 #Javascript
JavaScript表单验证的两种实现方法
Feb 11 #Javascript
jQuery实现复制到粘贴板功能
Feb 11 #Javascript
js实现PC端和移动端刮卡效果
Mar 27 #Javascript
js实现短信发送倒计时功能(正则验证)
Feb 10 #Javascript
BootStrap select2 动态改变值的方法
Feb 10 #Javascript
angularjs实现的前端分页控件示例
Feb 10 #Javascript
You might like
php超快高效率统计大文件行数
2015/07/05 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
使用jscript实现二进制读写脚本代码
2008/06/09 Javascript
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
jQuery实现渐变下拉菜单的简单方法
2015/03/11 Javascript
快速掌握Node.js模块封装及使用
2016/03/21 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
在VUE中实现文件下载并判断状态的方法
2019/11/08 Javascript
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
Python 高效编程技巧分享
2020/09/10 Python
联想中国官方商城:Lenovo China
2017/10/18 全球购物
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
环境科学专业个人求职信
2013/12/15 职场文书
初三家长会邀请函
2014/01/18 职场文书
中秋寄语大全
2014/04/11 职场文书
银行职员自我鉴定
2014/04/20 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
销售内勤岗位职责范本
2015/04/13 职场文书
南京大屠杀观后感
2015/06/02 职场文书
幸福来敲门观后感
2015/06/04 职场文书