id text False pid 2 ?û? True 0 3 ???? True 1 4 ????? False 2 5 ?????2 False 3 NULL NULL NULL NULL
public ActionResult Index()
{
CRMEntities db = new CRMEntities();
EasyUIJsonTree root = new EasyUIJsonTree()
{
text = "菜单根节点"
};
IList<Trees> list = db.Trees.ToList();
if (list != null && list.Count > 0)
{
b.GetTree(root, list);
}
return Json(root, JsonRequestBehavior.AllowGet);
//return JsonResult(new { root });
// Response.Write(JsonConvert.SerializeObject(new EasyUIJsonTree[] { root }));
}
public class b
{
public static void GetTree(EasyUIJsonTree parent, IList<Trees> list, int? parentID = 0) { var query = list.Where(m => m.pid == parentID); if (query.Any()) { if (parent.children == null) { parent.children = new List<EasyUIJsonTree>(); } foreach (Trees mv in query) { EasyUIJsonTree child = new EasyUIJsonTree() { id = mv.id.ToString(), text = mv.text, //attributes = new { Url = mv.Url } }; parent.children.Add(child); b.GetTree(child, list, mv.id); } } } } public class EasyUIJsonTree { public string id { get; set; } public string text { get; set; } //public string iconCls { get; set; } public IList<EasyUIJsonTree> children { get; set; } public object attributes { get; set; } }