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; }
}