zTree3.0动态加载问题(可能是Bug)
ztree吧
全部回复
仅看楼主
level 1
_黑鬼 楼主
刚刚试用zTree,感觉很好用,但是发现了一个问题,我用asp.net做后台服务,读取服务器的文件夹内容,返回文件夹和文件,不过会出现一个问题就是加载某些文件夹的时候,filter回调的childNodes有些问题,大部分是从0开始的,而有些是从1开始,不知道有同学遇到这样的问题吗?
2011年11月30日 09点11分 1
level 1
_黑鬼 楼主
动态页内容
================================
int id = HttpUtils.GetInt32FromFormParam("id", 0); string folderPath = HttpUtils.GetStringFromFormParam("path", @"D:\FTP\smscenter").Replace("/", "\\"); DirectoryInfo dir = new DirectoryInfo(folderPath); StringBuilder sb = new StringBuilder(); sb.Append("["); int i = 1; bool isFirst = true; foreach (var folder in dir.GetDirectories()) { int folderId = int.Parse(id.ToString() + i++); if (isFirst) isFirst = false; else sb.Append(","); sb.Append(string.Format("{{id:'{0}',name:'{1}',path:'{2}',isParent:true}}", folderId, folder.Name, folder.FullName.Replace("\\", "/"))); } foreach (var file in dir.GetFiles()) { int fileId = int.Parse(id.ToString() + i++); sb.Append(","); sb.Append(string.Format("{{id:'{0}',name:'{1}',path:'{2}',isParent:false}}", fileId, file.Name, string.Empty)); } sb.Append("]"); response.Write(sb.ToString());
Js内容
============================
<script type="text/javascript"> var setting = { async: { enable: true, url: "WebServices/Catalog.ashx", autoParam: ["id", "path"], otherParam: { "otherParam": "zTreeAsyncTest" }, dataFilter: filter }, callback: { beforeAsync: beforeAsync, onAsyncSuccess: zTreeOnAsyncSuccess } }; function filter(treeId, parentNode, childNodes) { if (!childNodes) return null; for (var i = 0, l = childNodes.length; i < l; i++) { //childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.'); } return childNodes; } function beforeAsync(treeId, treeNode) { return true; } function zTreeOnAsyncSuccess(event, treeId, treeNode, msg) { //alert(msg); }
$(document).ready(function () { $.fn.zTree.init($("#treeDemo"), setting); }); </script>
2011年11月30日 09点11分 2
level 1
_黑鬼 楼主
问题解决,非组件问题。。后台代码问题!
2011年11月30日 10点11分 3
level 11
:) 解决就好——自力更生丰衣足食!
2011年12月01日 03点12分 4
1