详解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 相关文章推荐
各种效果的jquery ui(接口)介绍
Sep 17 Javascript
JavaScript对象创建及继承原理实例解剖
Feb 28 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
Jun 21 Javascript
js网页版计算器的简单实现
Jul 02 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
Jan 27 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
Jun 22 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
Feb 19 Javascript
Vue.js如何优雅的进行form validation
Apr 07 Javascript
r.js来合并压缩css文件的示例
Apr 26 Javascript
jQuery实现基本动画效果的方法详解
Sep 06 jQuery
微信小程序中显示倒计时代码实例
May 09 Javascript
详解将微信小程序接口Promise化并使用async函数
Aug 05 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在字符断点处截断文字的实现代码
2011/04/21 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
用正则表达式 动态创建/增加css style script 兼容IE firefox
2009/03/10 Javascript
jquery easyui使用心得
2014/07/07 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
node.js中的path.sep方法使用说明
2014/12/08 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
jQuery实现伪分页的方法分享
2016/02/17 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
每日十条JavaScript经验技巧(一)
2016/06/23 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
浅谈vuex之mutation和action的基本使用
2017/08/29 Javascript
Vue官方文档梳理之全局配置
2017/11/22 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
JavaScript实现筛选数组
2021/03/02 Javascript
[37:47]IG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
python有证书的加密解密实现方法
2014/11/19 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
查看Django和flask版本的方法
2018/05/14 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
解析python的局部变量和全局变量
2019/08/15 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
python实现按关键字筛选日志文件
2019/12/24 Python
python实现录制全屏和选择区域录屏功能
2021/02/05 Python
运动会开幕式主持词
2014/03/28 职场文书
心术观后感
2015/06/11 职场文书
新闻稿标题
2015/07/18 职场文书
Python OpenCV形态学运算示例详解
2022/04/07 Python
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技