详解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 相关文章推荐
js控制的遮罩层实例介绍
May 29 Javascript
jquery图片放大功能简单实现
Aug 01 Javascript
Bootstrap网格系统详解
Apr 26 Javascript
AngularJS中的包含详细介绍及实现示例
Jul 28 Javascript
原生js实现jquery函数animate()动画效果的简单实例
Aug 21 Javascript
详解微信小程序 wx.uploadFile 的编码坑
Jan 23 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
Feb 10 Javascript
vue实现裁切图片同时实现放大、缩小、旋转功能
Mar 02 Javascript
使用electron制作满屏心特效的示例代码
Nov 27 Javascript
node(koa2) web应用模块介绍详解
Mar 29 Javascript
微信小程序人脸识别功能代码实例
May 07 Javascript
vue中实现回车键登录功能
Feb 19 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
flash用php连接数据库的代码
2011/04/21 PHP
php使用cookie显示用户上次访问网站日期的方法
2015/01/26 PHP
php日期操作技巧小结
2016/06/25 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
php实现图片压缩处理
2020/09/09 PHP
使用原生js写的一个简单slider
2014/04/29 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
Angular4 组件通讯方法大全(推荐)
2018/07/12 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
vue进入页面时滚动条始终在底部代码实例
2019/03/26 Javascript
JS定义函数的几种常用方法小结
2019/05/23 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
Python 解析XML文件
2009/04/15 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
Python学习小技巧之列表项的推导式与过滤操作
2017/05/20 Python
python树莓派红外反射传感器
2019/01/21 Python
基于python实现文件加密功能
2020/01/06 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
南非领先的在线旅行社:Travelstart南非
2016/09/04 全球购物
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
海外淘书首选:AbeBooks
2017/07/31 全球购物
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
服务理念口号
2014/06/11 职场文书
小学生教师节演讲稿
2014/09/03 职场文书
民主生活会对照检查材料思想汇报
2014/09/27 职场文书
汶川大地震感悟
2015/08/10 职场文书
如何才能写好调研报告?
2019/07/03 职场文书
使用springMVC所需要的pom配置
2021/09/15 Java/Android