C#使用Jquery zTree实现树状结构显示 异步数据加载
发布时间 - 2026-01-10 21:56:08 点击率:次C#使用Jquery zTree实现树状结构显示_异步数据加载

JQuery-Ztree下载地址:https://github.com/zTree/zTree_v3
JQuery-Ztree数结构演示页面: http://www.treejs.cn/v3/demo.php#_101
关于zTree的详细解释请看演示页面,还有zTree帮助Demo。
下面简要讲解下本人用到的其中一个实例(直接上关键代码了):
异步加载节点数据:
A-前台:
<link href="zTree_v3-master/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" />
<script src="zTree_v3-master/js/jquery.ztree.core.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
var setting = {
async: {
enable: true,
url: "../Handler/ShoppingHandler.ashx", //请求的一般处理程序
autoParam: ["id"], //自带参数id--来自于节点id
otherParam: { "type": "GetUserLevelList" }, //其他参数自定义
dataFilter: filter, //数据过滤
type: "post" //请求方式
}
};
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;
}
$(document).ready(function () {
$.fn.zTree.init($("#treeDemo"), setting); //渲染树结构
});
</script>
<div class="zTreeDemoBackground left">
<ul id="treeDemo" class="ztree"></ul>
</div>
B后台:
using MobileBusiness.Common.Data;
using MobileBusiness.Library.Passport;
using MobileBusiness.Shopping.Data;
using MobileBusiness.Shopping.Data.Common;
using MobileBusiness.Shopping.Data.Entity;
using MobileBusiness.Web.Library.Script;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ShoppingData = MobileBusiness.Shopping.Data.Entity;
namespace MobileBusiness.Shopping.BusinessManage.Handler
{
/// <summary>
/// Shopping 的摘要说明
/// </summary>
public class ShoppingHandler : IHttpHandler
{
//当前登录用户信息
WeChatUser weChatUser = WeChatIdentity.CurrentUser;
public void ProcessRequest(HttpContext context)
{
string result = "";
if (context.Request["type"] != null)
{
string requestType = context.Request["type"];
try
{
switch (requestType)
{
//获取用户信息等级列表
case "GetUserLevelList":
result = this.GetUserLevelList(context); break;
default:
break;
}
}
catch (Exception ex)
{
result = ex.Message;
}
}
context.Response.ContentType = "text/html";
context.Response.Write(result);
context.Response.End();
}
private string GetUserLevelList(HttpContext context)
{
string parentUserPhone = context.Request["id"];
return GetUserCollByPhone(parentUserPhone);
}
private string GetUserCollByPhone(string phone)
{
//编码,父编码,名称,是否打开,打开图片,关闭图片
//{ id:1, pId:0, name:"展开、折叠 自定义图标不同", open:true, iconOpen:"../../../css/zTreeStyle/img/diy/1_open.png", iconClose:"../../../css/zTreeStyle/img/diy/1_close.png"},
//编码,父编码,名称,是否打开,显示图片
//{ id: 11, pId: 1, name: "叶子节点1", icon: "../../../css/zTreeStyle/img/diy/2.png"},
List<object> result = new List<object>();
ShoppingData.UserInfoCollection userColl = ShoppingData.UserInfoAdapter.Instance.LoadByParentUserPhone(phone);
userColl.ForEach(user =>
{
result.Add(new
{
id = user.Phone,
pid = phone,
name = user.UserName,
isParent = ShoppingData.UserInfoAdapter.Instance.LoadByParentUserPhone(user.Phone).Count > 0 ? true : false
});
});
return JsonConvert.SerializeObject(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Jquery
# zTree树状结构
# C#异步加载
# zTree树状结构显示
# C# WPF如何反射加载Geometry几何图形数据图标
# c# WPF中自定义加载时实现带动画效果的Form和FormItem
# c# 实现网页加载后将页面截取为长图片
# C# 根据表格偶数、奇数加载不同颜色
# C# 动态加载程序集信息
# C#中调用DLL时未能加载文件或程序集错误的处理方法(详解)
# C#中加载dll并调用其函数的实现方法
# c# 动态加载dll文件
# 并实现调用其中的简单方法
# C#使用反射加载多个程序集的实现方法
# C#实现动态加载dll的方法
# c#动态加载卸载DLL的方法
# 3种C# 加载Word的方法
# 自定义
# 加载
# 下载地址
# 树状
# 来自于
# 其中一个
# 自带
# 大家多多
# 解下
# ashx
# Handler
# ShoppingHandler
# autoParam
# zTreeDemoBackground
# otherParam
# id
# left
# url
# language
# JavaScript
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
实例解析angularjs的filter过滤器
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
如何用西部建站助手快速创建专业网站?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
微信h5制作网站有哪些,免费微信H5页面制作工具?
如何快速搭建个人网站并优化SEO?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
Laravel如何配置和使用缓存?(Redis代码示例)
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
无锡营销型网站制作公司,无锡网选车牌流程?
南京网站制作费用,南京远驱官方网站?
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
如何在不使用负向后查找的情况下匹配特定条件前的换行符
php json中文编码为null的解决办法
香港服务器WordPress建站指南:SEO优化与高效部署策略
Laravel如何实现用户密码重置功能?(完整流程代码)
Laravel如何使用Sanctum进行API认证?(SPA实战)
Laravel如何创建自定义Facades?(详细步骤)
浅谈javascript alert和confirm的美化
MySQL查询结果复制到新表的方法(更新、插入)
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
C#如何调用原生C++ COM对象详解
千库网官网入口推荐 千库网设计创意平台入口
大型企业网站制作流程,做网站需要注册公司吗?
如何确认建站备案号应放置的具体位置?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
如何在IIS中新建站点并配置端口与IP地址?
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
如何快速使用云服务器搭建个人网站?
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
北京专业网站制作设计师招聘,北京白云观官方网站?
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
node.js报错:Cannot find module 'ejs'的解决办法
高防服务器如何保障网站安全无虞?
如何选择可靠的免备案建站服务器?
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
如何在 React 中条件性地遍历数组并渲染元素
独立制作一个网站多少钱,建立网站需要花多少钱?
手机软键盘弹出时影响布局的解决方法
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
Laravel如何使用Vite进行前端资源打包?(配置示例)

