详解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实现日历控件(年月日关闭按钮)
Dec 12 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
Jun 05 Javascript
Node.js中对通用模块的封装方法
Jun 06 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
Jan 28 Javascript
JS实现自动变化的导航菜单效果代码
Sep 09 Javascript
省市选择的简单实现(基于zepto.js)
Jun 21 Javascript
easyui messager alert 三秒后自动关闭提示的实例
Nov 07 Javascript
bootstrapfileinput实现文件自动上传
Nov 08 Javascript
JS中substring与substr的用法
Nov 16 Javascript
Bootstrap框架实现广告轮播效果
Nov 28 Javascript
jQuery Easyui 下拉树组件combotree
Dec 16 Javascript
js实现密码强度检验
Jan 15 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 MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
php中使用GD库做验证码
2016/03/31 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
基于jquery的大众点评,分类导航实现代码
2011/08/23 Javascript
jquery键盘事件使用介绍
2011/11/01 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
Vue Autocomplete 自动完成功能简单示例
2019/05/25 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
python生成IP段的方法
2015/07/07 Python
Python中enumerate函数代码解析
2017/10/31 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
pycharm中使用anaconda部署python环境的方法步骤
2018/12/19 Python
Python简单基础小程序的实例代码
2019/04/28 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
Python单链表原理与实现方法详解
2020/02/22 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
2020/07/09 Python
澳大利亚在线批发商:Simply Wholesale
2021/02/24 全球购物
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
写求职信有哪些注意事项
2014/05/08 职场文书
大专学生求职自荐信
2014/07/06 职场文书
全陪导游词
2015/02/04 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
企业工会工作总结2015
2015/05/13 职场文书
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python
python之json文件转xml文件案例讲解
2021/08/07 Python
muduo TcpServer模块源码分析
2022/04/26 Redis