详解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动态加载图片数据练习代码
Aug 04 Javascript
php对mongodb的扩展(小试牛刀)
Nov 11 Javascript
setInterval,setTimeout与jquery混用的问题
Apr 08 Javascript
javascript实现获取字符串hash值
May 10 Javascript
js图片上传前预览功能(兼容所有浏览器)
Aug 24 Javascript
AngularJs  unit-testing(单元测试)详解
Sep 02 Javascript
javascript作用域链与执行环境详解
Mar 25 Javascript
vue多种弹框的弹出形式的示例代码
Sep 18 Javascript
解决vue中对象属性改变视图不更新的问题
Feb 23 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
Mar 26 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
Dec 13 Javascript
javascript实现简单打字游戏
Oct 29 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 cli换行示例
2014/04/22 PHP
orm获取关联表里的属性值
2016/04/17 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
PHP实现网站访问量计数器
2017/10/27 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
JavaScript中输出标签的方法
2014/08/27 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
JS中常用的输出方式(五种)
2016/06/12 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
AngularJS extend用法详解及实例代码
2016/11/15 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
jQuery命名空间与闭包用法示例
2017/01/12 Javascript
webpack学习笔记之代码分割和按需加载的实例详解
2017/07/20 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
2019/01/15 jQuery
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
python的scipy实现插值的示例代码
2019/11/12 Python
HTML5未来发展趋势
2016/02/01 HTML / CSS
新加坡网上化妆品店:Best Buy World
2018/05/18 全球购物
中东地区最大的奢侈品市场:The Luxury Closet
2019/04/09 全球购物
《春到梅花山》教学反思
2014/04/16 职场文书
初中班主任培训心得体会
2016/01/07 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python
Python实战之OpenCV实现猫脸检测
2021/06/26 Python