详解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 相关文章推荐
InnerHtml和InnerText的区别分析
Mar 13 Javascript
JS在IE和FireFox之间常用函数的区别小结
Mar 12 Javascript
(jQuery,mootools,dojo)使用适合自己的编程别名命名
Sep 14 Javascript
Eclipse引入jquery报错如何解决
Dec 01 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
Jul 19 Javascript
微信小程序getPhoneNumber获取用户手机号
Sep 29 Javascript
vue基于mint-ui的城市选择3级联动的示例
Oct 25 Javascript
本地搭建微信小程序服务器的实现方法
Oct 27 Javascript
基于Vue制作组织架构树组件
Dec 06 Javascript
iview日期控件,双向绑定日期格式的方法
Mar 15 Javascript
js实现图片推拉门效果代码实例
May 18 Javascript
你或许不知道的一些npm实用技巧
Jul 04 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
咖啡豆的最常见发酵处理方法,详细了解一下
2021/03/03 冲泡冲煮
使PHP自定义函数返回多个值
2006/11/26 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
jquery分页对象使用示例
2014/04/01 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
JavaScript中数据结构与算法(五):经典KMP算法
2015/06/19 Javascript
基于jQuery实现复选框是否选中进行答题提示
2015/12/10 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
jquery实现焦点轮播效果
2017/02/23 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
Vue.js单向绑定和双向绑定实例分析
2018/08/14 Javascript
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
python转换摩斯密码示例
2014/02/16 Python
python使用tkinter实现简单计算器
2018/01/30 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
Django发送邮件和itsdangerous模块的配合使用解析
2019/08/10 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
2020/03/05 Python
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
英国骑行、跑步、游泳、铁人三项运动装备专卖店:Wiggle
2016/08/23 全球购物
社区学习十八大感想
2014/01/22 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
应届中专生自荐书范文
2014/02/13 职场文书
婚前协议书范本两则
2014/10/16 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
css3带你实现3D转换效果
2022/02/24 HTML / CSS
vue实现登陆页面开发实践
2022/05/30 Vue.js
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android