详解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 相关文章推荐
document.all与WEB标准
May 13 Javascript
jQuery 删除/替换DOM元素的几种方式
May 20 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
Dec 02 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
Apr 07 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
May 30 Javascript
微信小程序 wxapp内容组件 icon详细介绍
Oct 31 Javascript
Vue.js第二天学习笔记(vue-router)
Dec 01 Javascript
vue中七牛插件使用的实例代码
Jul 28 Javascript
JavaScript常用事件介绍
Jan 21 Javascript
JS查找孩子节点简单示例
Jul 25 Javascript
javascript实现视频弹幕效果(两个版本)
Nov 28 Javascript
vue.js实现照片放大功能
Jun 23 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实现在多维数组中查找特定value的方法
2015/07/29 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
php微信开发之百度天气预报
2016/11/18 PHP
javascript获取url上某个参数的方法
2013/11/08 Javascript
面向对象设计模式的核心法则
2013/11/10 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
浅谈JS中的bind方法与函数柯里化
2016/08/10 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
谈谈第三方App接入微信登录 解读
2016/12/27 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
js实现计算器功能
2020/08/10 Javascript
[01:03]DOTA2新的征程 你的脚印值得踏上
2014/08/13 DOTA
python Socket之客户端和服务端握手详解
2017/09/18 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
openCV提取图像中的矩形区域
2020/07/21 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
德国自然时尚和有机产品购物网站:Waschbär
2019/05/29 全球购物
大专生毕业的自我评价
2014/02/06 职场文书
淘宝客服专员岗位职责
2014/04/11 职场文书
捐款活动总结
2014/08/27 职场文书
学生自我评语
2015/01/04 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书