递归生成json

 1 void GetCategory(DataSet ds, int ID)
 2         {
 3             var list = ds.Tables[0].AsEnumerable().Where(c => c.Field<int>("ParentID") == ID);
 4 
 5             sb.Append("[");
 6 
 7             
 8             foreach (DataRow item in list)
 9             {
10                 sb.Append("{name:'" + item.Field<string>("CategoryName") + "',classid:" + item.Field<int>("PE_ClassID") + ",contorl:'<a href=\"javascript:void(0)\" onclick=\"AddCategory(" + item.Field<int>("ID") + "," + item.Field<int>("Level") + ")\">添加子类</a> <a href=\"javascript:void(0)\" onclick=\"UpdateCategory(" + item.Field<int>("ID") + ")\">修改</a> <a href=\"javascript:void(0)\" onclick=\"DelCategory(" + item.Field<int>("ID") + ")\">删除</a>'");
11 
12                 if (!item.Field<bool>("IsLeaf"))
13                 {
14                     sb.Append(",children:");
15                     GetCategory(ds, item.Field<int>("ID"));
16                 }
17                
18                 sb.Append("},");
19             }
20             sb.Remove(sb.Length - 1, 1);
21             sb.Append("]");
22         }

 

posted @ 2013-05-18 17:04  冰vs焰  阅读(327)  评论(0编辑  收藏  举报