详解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 相关文章推荐
js操作ajax返回的json的注意问题!
Feb 23 Javascript
JS长整型精度问题实例分析
Jan 13 Javascript
浅谈javascript中的instanceof和typeof
Feb 27 Javascript
javascript搜索框效果实现方法
May 14 Javascript
JavaScript中的函数嵌套使用
Jun 04 Javascript
快速获取/设置iframe内对象元素的几种js实现方法
May 20 Javascript
ECMAScript6快速入手攻略
Jul 18 Javascript
PhotoSwipe异步动态加载图片方法
Aug 25 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
Dec 21 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
Mar 30 Javascript
原生javascript实现分页效果
Apr 21 Javascript
JS面向对象之多选框实现
Jan 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批量生成随机用户名
2008/07/10 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
2017/10/23 PHP
表单的焦点顺序tabindex和对应enter键提交
2013/01/04 Javascript
JS中的prototype与面向对象的实例讲解
2013/05/22 Javascript
jquery实现保存已选用户
2014/07/21 Javascript
JavaScript中的迭代器和生成器详解
2014/10/29 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
javascript每日必学之循环
2016/02/19 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
微信小程序 setData的使用方法详解
2017/04/20 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
详解vue.js+UEditor集成 [前后端分离项目]
2017/07/07 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
从零开始搭建vue移动端项目到上线的步骤
2018/10/15 Javascript
详解如何使用router-link对象方式传递参数?
2019/05/02 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
讲解Python3中NumPy数组寻找特定元素下标的两种方法
2019/08/04 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
python 常见的反爬虫策略
2020/09/27 Python
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
2016/02/28 HTML / CSS
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
优秀员工自荐信范文
2013/10/05 职场文书
我的长生果教学反思
2014/04/28 职场文书
师德师风承诺书
2014/05/23 职场文书
初中优秀学生评语
2014/12/29 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL
Windows server 2016服务器基本设置
2022/08/14 Servers