详解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 相关文章推荐
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
Feb 09 Javascript
学习YUI.Ext 第三天
Mar 10 Javascript
DIY jquery plugin - tabs标签切换实现代码
Dec 11 Javascript
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
Jan 21 Javascript
js实现文字跟随鼠标移动而移动的方法
Feb 28 Javascript
javascript中createElement的两种创建方式
May 14 Javascript
深入理解jQuery事件绑定
Jun 02 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
Jul 08 jQuery
JS实现选项卡效果的代码实例
May 20 Javascript
Javascript confirm多种使用方法解析
Sep 25 Javascript
three.js中多线程的使用及性能测试详解
Jan 07 Javascript
利用uni-app生成微信小程序的踩坑记录
Apr 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中文字符串截取函数
2013/11/12 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
2016/05/16 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
js 巧妙去除数组中的重复项
2010/01/25 Javascript
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
javascript时间函数基础介绍
2013/03/28 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
2014/05/20 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
在JavaScript中对HTML进行反转义详解
2016/05/18 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
基于Webpack4和React hooks搭建项目的方法
2019/02/05 Javascript
解决vue-cli输入命令vue ui没效果的问题
2020/11/17 Javascript
python装饰器初探(推荐)
2016/07/21 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
用matplotlib画等高线图详解
2017/12/14 Python
python requests 库请求带有文件参数的接口实例
2019/01/03 Python
Python实现计算字符串中出现次数最多的字符示例
2019/01/21 Python
Python批量生成幻影坦克图片实例代码
2019/06/04 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
python多任务之协程的使用详解
2019/08/26 Python
python同时遍历两个list用法说明
2020/05/02 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
音乐学院硕士生的自我评价分享
2013/11/01 职场文书
会计工作心得体会
2014/01/13 职场文书
工程技术员岗位职责
2014/03/02 职场文书
车贷收入证明范本
2014/09/14 职场文书
客房领班岗位职责
2015/02/11 职场文书
Windows10安装Apache2.4的方法步骤
2022/06/25 Servers