asp.net+jquery+ztree实现动态绑定数据例子

作者:袖梨 2022-06-25

看效果图:

1、用于获取JSON数据的代码:

代码如下 复制代码


后台代码:

代码如下 复制代码

using AT.Business.DAL;
using AT.Business.IDAO;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace AT.Web.Ajax
{
public partial class RegionData : System.Web.UI.Page
{
private AT_System_IDAO systemidao = new AT_System_Dal();
protected void Page_Load(object sender, EventArgs e)
{
try
{
//取得前台ajax请求的方法名称
string ajaxMethod = Request["ajaxMethod"].ToString();
System.Reflection.MethodInfo method = this.GetType().GetMethod(ajaxMethod);
if (method != null)
{
//通过方法名称指向对应的方法
method.Invoke(this, new object[] { });
}
}
catch (Exception)
{
throw;
}
finally
{
Response.End();
}
}
///


/// 异步加载当前节点的子节点
///

public void AnsyData()
{
List lsNode = new List();
try
{
string parentId = Request.Params["id"];
DataTable dtRegion = this.systemidao.GetRegionList();
DataView dv = new DataView(dtRegion);
dv.RowFilter = "PRegion_ID = '" + parentId + "'";
lsNode = getList(dv);
htm = htm&(JsonConvert.SerializeObject(lsNode));
}
catch (Exception)
{
throw;
}
}
///
/// 判断当前节点是否还有子节点
///

/// 父节点Id
/// bool类型
public bool isParentTrue(string ParentId)
{
try
{
DataTable dtRegion = this.systemidao.GetRegionList();
DataView dv = new DataView(dtRegion);
dv.RowFilter = "PRegion_ID = '" + ParentId + "'";
return dv.Count >= 1 ? true : false;
}
catch (Exception)
{
throw;
}
}
///
/// 初始化第一次节点加载
///

public void FirstAnsyData()
{
try
{
DataTable dtRegion = this.systemidao.GetRegionList();
DataView dv = new DataView(dtRegion);
dv.RowFilter = " PRegion_ID = '0' ";
List lsNode = new List();
lsNode = getList(dv);
//用到了Newtonsoft.dll 转化成Json格式
htm = htm&(JsonConvert.SerializeObject(lsNode));
}
catch (Exception)
{
throw;
}
}
///
/// 把数据形式转换成zTree的json数据格式
///

///
///
public List getList(DataView table)
{
try
{
List lsNode = new List();
bool isParent = true;
foreach (DataRowView drv in table)
{
var ParentId = string.IsNullOrEmpty(drv["PRegion_ID"].ToString()) ? "0" : drv["PRegion_ID"].ToString();
if (isParentTrue(drv["Region_ID"].ToString()))
{
isParent = true;
}
else
{
isParent = false;
}
var zTreeData = new
{
id = drv["Region_ID"],
pId = string.IsNullOrEmpty(ParentId) ? "0" : ParentId,
name = drv["Region_Name"],
isParent = isParent
};
lsNode.Add(zTreeData);
}
return lsNode;
}
catch (Exception)
{
throw;
}
}
}
}

2、用于展示zTree目录树的页面代码:

代码如下 复制代码






zTree树形示例















    说明:

    1、js加载完成后,调用服务器asp.net的方法,生成data

    2、绑定data数据

    相关文章

    精彩推荐