详解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 相关文章推荐
70+漂亮且极具亲和力的导航菜单设计国外网站推荐
Sep 20 Javascript
Extjs4中Form的使用之本地hiddenfield
Nov 26 Javascript
javascript中加号(+)操作符的一些神奇作用
Jun 06 Javascript
原生js实现淘宝购物车功能
Jun 23 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
Mar 08 Javascript
bootstrap实现动态进度条效果
Mar 08 Javascript
详解vue表单验证组件 v-verify-plugin
Apr 19 Javascript
js 获取html5的data属性实现方法
Jul 28 Javascript
vue.js实现带日期星期的数字时钟功能示例
Aug 28 Javascript
微信小程序canvas开发水果老虎机的思路详解
Feb 07 Javascript
vue中使用腾讯云Im的示例
Oct 23 Javascript
实现AJAX异步调用和局部刷新的基本步骤
Mar 17 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 分库分表hash算法
2009/11/12 PHP
探讨file_get_contents与curl效率及稳定性的分析
2013/06/06 PHP
解析如何在PHP下载文件名中解决乱码的问题
2013/06/20 PHP
php eval函数一句话木马代码
2015/05/21 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
动态刷新 dorado树的js代码
2009/06/12 Javascript
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
javascript 内存回收机制理解
2011/01/17 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
Node实战之不同环境下配置文件使用教程
2018/01/02 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
vue计算属性及使用详解
2018/04/02 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
Python中将字典转换为列表的方法
2016/09/21 Python
解决python3 json数据包含中文的读写问题
2018/05/10 Python
ubuntu16.04制作vim和python3的开发环境
2018/09/23 Python
Python中is和==的区别详解
2018/11/15 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
python接口自动化框架实战
2020/12/23 Python
python实现发送邮件
2021/03/02 Python
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
自主招生自荐信
2013/12/08 职场文书
上班玩游戏检讨书
2014/02/07 职场文书
军训鉴定表自我鉴定
2014/02/13 职场文书
情人节寄语大全
2014/04/11 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
小学运动会加油稿
2015/07/22 职场文书
毕业生入职感言
2015/07/31 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL