详解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将数据库中的TEXT类型数据动态赋值到TEXTAREA中
Apr 20 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
Oct 01 Javascript
JS、CSS加载中的小问题探讨
Nov 26 Javascript
基于Javascript实现二级联动菜单效果
Mar 04 Javascript
深入理解jQuery之事件移除
Jun 02 Javascript
ES6中class类用法实例浅析
Apr 06 Javascript
微信小程序中页面FOR循环和嵌套循环
Jun 21 Javascript
jQuery响应滚动条事件功能示例
Oct 14 jQuery
Vue项目组件化工程开发实践方案
Jan 09 Javascript
jQuery实现标签子元素的添加和赋值方法
Feb 24 jQuery
vue中axios解决跨域问题和拦截器的使用方法
Mar 07 Javascript
浅谈vue项目可以从哪些方面进行优化
May 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安全配置
2006/12/06 PHP
php将会员数据导入到ucenter的代码
2010/07/18 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
javascript json 新手入门文档
2009/12/03 Javascript
jQuery版仿Path菜单效果
2011/12/15 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
使用python对excle和json互相转换的示例
2018/10/23 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
python三大神器之fabric使用教程
2019/06/10 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
CSS3实现图片抽屉式效果的示例代码
2019/11/06 HTML / CSS
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
医院工作检讨书范文
2014/02/10 职场文书
大学校务公开实施方案
2014/03/31 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书
python脚本框架webpy的url映射详解
2021/11/20 Python