Asp.net生成Extjs-Tree数据格式的json类
2012-01-09 16:28
573 查看
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
//using System.Web.Script.Serialization;
using System.Runtime.Serialization;
///
/// JSONHelper 的摘要说明
///
public class DTreeJSONHelper
{
//对应JSON的singleInfo成员
public string singleInfo = string.Empty;
protected string _error = string.Empty;
protected bool _success = true;
protected long _totalCount = 0;
protected System.Collections.ArrayList arrData = new ArrayList();
protected System.Collections.ArrayList arrDataItem = new ArrayList();
public DTreeJSONHelper()
{
}
//public static string ToJSON(object obj)
//{
// JavaScriptSerializer serializer = new JavaScriptSerializer();
// return serializer.Serialize(obj);
//}
//public static string ToJSON(object obj, int recursionDepth)
//{
// JavaScriptSerializer serializer = new JavaScriptSerializer();
// serializer.RecursionLimit = recursionDepth;
// return serializer.Serialize(obj);
//}
//对应于JSON的success成员
public bool success
{
get
{
return _success;
}
set
{
//如设置为true则清空error
if (success) _error = string.Empty;
_success = value;
}
}
//对应于JSON的error成员
public string error
{
get
{
return _error;
}
set
{
//如设置error,则自动设置success为false
if (value != "") _success = false;
_error = value;
}
}
public long totlalCount
{
get { return _totalCount; }
set { _totalCount = value; }
}
//重置,每次新生成一个json对象时必须执行该方法
public void Reset()
{
_success = true;
_error = string.Empty;
singleInfo = string.Empty;
arrData.Clear();
arrDataItem.Clear();
}
public void AddItem(string name, string value)
{
if (name == "checked" && value == "1")
{
value = "true";
arrData.Add("'" + name + "':" + "" + value + "");
}
else if (name == "checked" && value == "0")
{
value = "false";
arrData.Add("'" + name + "':" + "" + value + "");
}
else if (name == "leaf" && value=="1")
{
value = "true";
arrData.Add("'" + name + "':" + "" + value + "");
}
else if (name == "leaf" && value == "0")
{
value = "false";
arrData.Add("'" + name + "':" + "" + value + "");
}
else
{
arrData.Add("'" + name + "':\"" + "" + value + "\"");
}
}
public void ItemOk()
{
arrData.Add("
");
//返回总记录条数
totlalCount++;
}
//序列化JSON对象,得到返回的JSON代码
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("[");
int index = 0;
sb.Append("{");
if (arrData.Count <= 0)
{
sb.Append("}");
}
else
{
foreach (string val in arrData)
{
index++;
if (val != "
")
{
sb.Append(val + ",");
}
else
{
sb = sb.Replace(",", "", sb.Length - 1, 1);
sb.Append("},");
if (index < arrData.Count)
{
sb.Append("{");
}
}
}
sb = sb.Replace(",", "", sb.Length - 1, 1);
sb.Append("");
}
sb.Append("]");
return sb.ToString();
}
}
//=============================================调用例子=============================
using System;
using System.Collections.Generic;
using System.Text;
//using Model;
using DAL;
using System.Data;
namespace BLL
{
public class MenuTree
{
private DataSet ds;
DAL.MenuTree dao = new DAL.MenuTree();
//查询权限树信息
public string GetDtreeInfos(string parentID)
{
string DTreeJSON="";
DTreeJSONHelper json = new DTreeJSONHelper();
try
{
ds=dao.getDTreeInfo(parentID);
json.success = true;
foreach(DataRow dr in ds.Tables[0].Rows)
{
json.AddItem("href", dr["href"].ToString());
json.AddItem("hrefTarget", "MainFram");
json.AddItem("id", dr["id"].ToString());
//json.AddItem("parentid", dr["parentid"].ToString());
json.AddItem("text", dr["title"].ToString());
json.AddItem("leaf", dr["leaf"].ToString());
//json.AddItem("icon", dr["icon"].ToString());
//json.AddItem("number", dr["number"].ToString());
json.AddItem("qtip", dr["title"].ToString());
//json.AddItem("checked", "1");
json.ItemOk();
}
DTreeJSON = json.ToString();
}
catch (Exception)
{
throw;
}
return DTreeJSON;
}
}
}
using System.Collections;
using System.Collections.Generic;
using System.Text;
//using System.Web.Script.Serialization;
using System.Runtime.Serialization;
///
/// JSONHelper 的摘要说明
///
public class DTreeJSONHelper
{
//对应JSON的singleInfo成员
public string singleInfo = string.Empty;
protected string _error = string.Empty;
protected bool _success = true;
protected long _totalCount = 0;
protected System.Collections.ArrayList arrData = new ArrayList();
protected System.Collections.ArrayList arrDataItem = new ArrayList();
public DTreeJSONHelper()
{
}
//public static string ToJSON(object obj)
//{
// JavaScriptSerializer serializer = new JavaScriptSerializer();
// return serializer.Serialize(obj);
//}
//public static string ToJSON(object obj, int recursionDepth)
//{
// JavaScriptSerializer serializer = new JavaScriptSerializer();
// serializer.RecursionLimit = recursionDepth;
// return serializer.Serialize(obj);
//}
//对应于JSON的success成员
public bool success
{
get
{
return _success;
}
set
{
//如设置为true则清空error
if (success) _error = string.Empty;
_success = value;
}
}
//对应于JSON的error成员
public string error
{
get
{
return _error;
}
set
{
//如设置error,则自动设置success为false
if (value != "") _success = false;
_error = value;
}
}
public long totlalCount
{
get { return _totalCount; }
set { _totalCount = value; }
}
//重置,每次新生成一个json对象时必须执行该方法
public void Reset()
{
_success = true;
_error = string.Empty;
singleInfo = string.Empty;
arrData.Clear();
arrDataItem.Clear();
}
public void AddItem(string name, string value)
{
if (name == "checked" && value == "1")
{
value = "true";
arrData.Add("'" + name + "':" + "" + value + "");
}
else if (name == "checked" && value == "0")
{
value = "false";
arrData.Add("'" + name + "':" + "" + value + "");
}
else if (name == "leaf" && value=="1")
{
value = "true";
arrData.Add("'" + name + "':" + "" + value + "");
}
else if (name == "leaf" && value == "0")
{
value = "false";
arrData.Add("'" + name + "':" + "" + value + "");
}
else
{
arrData.Add("'" + name + "':\"" + "" + value + "\"");
}
}
public void ItemOk()
{
arrData.Add("
");
//返回总记录条数
totlalCount++;
}
//序列化JSON对象,得到返回的JSON代码
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("[");
int index = 0;
sb.Append("{");
if (arrData.Count <= 0)
{
sb.Append("}");
}
else
{
foreach (string val in arrData)
{
index++;
if (val != "
")
{
sb.Append(val + ",");
}
else
{
sb = sb.Replace(",", "", sb.Length - 1, 1);
sb.Append("},");
if (index < arrData.Count)
{
sb.Append("{");
}
}
}
sb = sb.Replace(",", "", sb.Length - 1, 1);
sb.Append("");
}
sb.Append("]");
return sb.ToString();
}
}
//=============================================调用例子=============================
using System;
using System.Collections.Generic;
using System.Text;
//using Model;
using DAL;
using System.Data;
namespace BLL
{
public class MenuTree
{
private DataSet ds;
DAL.MenuTree dao = new DAL.MenuTree();
//查询权限树信息
public string GetDtreeInfos(string parentID)
{
string DTreeJSON="";
DTreeJSONHelper json = new DTreeJSONHelper();
try
{
ds=dao.getDTreeInfo(parentID);
json.success = true;
foreach(DataRow dr in ds.Tables[0].Rows)
{
json.AddItem("href", dr["href"].ToString());
json.AddItem("hrefTarget", "MainFram");
json.AddItem("id", dr["id"].ToString());
//json.AddItem("parentid", dr["parentid"].ToString());
json.AddItem("text", dr["title"].ToString());
json.AddItem("leaf", dr["leaf"].ToString());
//json.AddItem("icon", dr["icon"].ToString());
//json.AddItem("number", dr["number"].ToString());
json.AddItem("qtip", dr["title"].ToString());
//json.AddItem("checked", "1");
json.ItemOk();
}
DTreeJSON = json.ToString();
}
catch (Exception)
{
throw;
}
return DTreeJSON;
}
}
}
相关文章推荐
- asp.net数据库生成LigerUi树Tree结构Json格式数据(有点绕,附基本源代码)
- LigerUI中生成GRID与TREE的【JSON数据】与Asp.Net的【变量数据】(方便测试)
- asp.net(c#)快速生成Json格式的数据(JsonHelper)
- asp.net(c#)快速生成Json格式的数据(JsonHelper)
- C#将datatable生成easyui的绑定tree 的json数据格式
- ASP.NET输出JSON格式数据
- Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题
- asp.net mvc linq to entity 查询指定列的数据以json字符串格式返回数据
- 讲解asp.net中Jquery解析json数据格式相关知识
- Asp.net+Extjs实现对GridPanel分页、行内编辑、增加、删除、弹出新窗体增加、数据验证、编辑指定列、数据格式转换等功能
- Extjs和Asp.NET后台的数据交互(一) => Newtonsoft.Json 使用简介
- jQuery EasyUI:根据数据库内容生成适合于easyui-tree的JSON数据格式
- Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据
- Asp.net MVC 使用json数据格式交互
- EasyUI_tree根据数据库数据生成树形结构JSON格式
- Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据
- ASP.NET MVC上传文件成功返回Json格式数据弹出下载框解决方案
- Asp.net无刷新调用后台实体类数据并以Json格式返回
- asp.net和Jquery中详细解析json数据格式!(有实例)
- 生成EasyUI Tree所需的Json数据格式