项目上线了,在测试的时候突然发现一次性加载庞大的树结构,导致页面卡死,需要反映数十秒才能加载完成,考虑不周,决定修改程序,在网上发现了这篇文章,感谢作者的分享!
zTree结合Asp.net实现异步加载数据 实现简单操作
zTree 下载 api 访问 :
例子中用到json数据转化 newtonsoft 地址 :
不多说,代码如下 :
aspx 页面 :
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="CFBuilder.WebForm2" %>
WebData.aspx页面代码 异步提交 交互页面 :
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Newtonsoft.Json;using System.Data.SqlClient;using System.Data;namespace CFBuilder{ public partial class WebData : System.Web.UI.Page { string strConn = @"Data Source=ANDY-PC\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True"; protected void Page_Load(object sender, EventArgs e) { #region try { string ajaxMethod = Request["ajaxMethod"].ToString();//取得前台ajax请求的方法名称 System.Reflection.MethodInfo method = this.GetType().GetMethod(ajaxMethod); if (method != null) { method.Invoke(this, new object[] { });//通过方法名称指向对应的方法 } } catch (Exception) { throw; } finally { Response.End(); } #endregion } /// /// 异步加载当前节点的子节点 /// public void AnsyData() { List
数据库的格式
CREATE TABLE OrginTree( OrgId INT PRIMARY KEY IDENTITY(1,1), OrgName NVARCHAR(30), //节点的名称 ORgParent INT //父节点的Id)
文章转自: 感谢!