EasyUI Tree+C# ASHX 构建无限极JSON数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EasyUI Tree+C# ASHX 构建无限极JSON
一.数据表格式 (id自动编号分类名称序号要与父级ID对应一级填0,编程会用到
二.ASHX 所用的USING 引用(习惯都加上,其实真正用的不多)
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Text;
using System.Data;
using System.Text;
using System.Web.Script.Serialization;
using System.Runtime.Serialization.Json;
using System.Data.OleDb;
using System.Data.SqlClient;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;
using System.Collections.Generic;
//add
using System.Web.Script.Serialization;
三.源代码:
public void ProcessRequest(HttpContext context)
{
string url = "连接数据库存的字符串";
string select = " select * from 产¨²品¡¤分¤?类¤¨¤"; //select 语名
SqlConnection scn = new SqlConnection(url);
SqlCommand cmd = scn.CreateCommand();
SqlDataAdapter adapter = new SqlDataAdapter(select, scn); //读取数据库的值存入DATATABLE DataTable dtt = new DataTable(); ////读取数据库的值存入DATATABLE
adapter.Fill(dtt); ////读取数据库的值存入DATATABLE
DataTable dt = dtt;
string json = GetTreeJsonByTable(dt, "分类id", "分类名称", "序号?", "0"); //传主类的0
context.Response.Write(json);
context.Response.End();
}
StringBuilder result = new StringBuilder();
StringBuilder sb = new StringBuilder();
private string GetTreeJsonByTable(DataTable tabel, string分¤?类¤¨¤id, string分¤?类¤¨¤名?称?, string 序¨°号?, object pId) //接收参数,构建一个OBJ型接收0这个参数
{
result.Append(sb.ToString());
sb.Clear();
if (tabel.Rows.Count > 0)
{
sb.Append("[");
string filer = string.Format("{0}='{1}'", 序¨°号?, pId); //格式化数据
DataRow[] rows = tabel.Select(filer);
if (rows.Length > 0)
{
foreach (DataRow row in rows)
{
sb.Append("{\"id\":\"" + row[分¤?类¤¨¤id] + "\",\"text\":\"" + row[分¤?类¤¨¤名?称?] + "\",\"state\":\"open\"");
if (tabel.Select(string.Format("{0}='{1}'", 序¨°号?, row[分¤?类¤¨¤id])).Length > 0)
{
sb.Append(",\"children\":");
GetTreeJsonByTable(tabel, 分¤?类¤¨¤id, 分¤?类¤¨¤名?称?, 序¨°号?, row[分¤?类¤¨¤id]); result.Append(sb.ToString());
sb.Clear();
}
result.Append(sb.ToString());
sb.Clear();
sb.Append("},");
}
sb = sb.Remove(sb.Length - 1, 1);
}
sb.Append("]");
result.Append(sb.ToString());
sb.Clear();
}
return result.ToString();
}
4.结果。