递归生成树形菜单

递归生成树

    //调用的方法
     public ActionResult TreeView() { List<TreeModel> ltm = this.GetTrees(); string tree = JsonConvert.SerializeObject(ltm).ToString(); return Content(tree); } public List<TreeModel> GetTrees() { List<ModuleEntity> listQuery = map.GetList().ToList<ModuleEntity>(); List<ModuleEntity> me = listQuery.Where(t => t.F_ParentId == "0").ToList<ModuleEntity>(); if (me==null) { return null; } List<ModuleEntity> Lme = me.ToList<ModuleEntity>(); List<TreeModel> tm = new List<TreeModel>(); foreach (ModuleEntity item in Lme) { TreeModel tms = new TreeModel(); tms.id = item.F_Id; tms.name = item.F_FullName; tms.parentId = item.F_ParentId; tms.spread = "true"; List<TreeModel> child = new List<TreeModel>(); GetTree(listQuery, child, item.F_Id); tms.children = child; tm.Add(tms); } return tm; } //递归获取数据 public void GetTree(List<ModuleEntity> list,List<TreeModel> listTree,string parentId) { foreach (ModuleEntity item in list) { if (item.F_ParentId==parentId) { TreeModel tm = new TreeModel(); tm.id=item.F_Id; tm.parentId = item.F_ParentId; tm.name = item.F_FullName; tm.spread = "true"; tm.children = new List<TreeModel>(); listTree.Add(tm); GetTree(list,tm.children,tm.id); } } }

 树形菜单类

   public class TreeModel
    {
        public string id { get; set; }
        public string parentId { get; set; }
        public string name { get; set; }
        public string spread { get; set; }
        public string href { get; set; }
        public List<TreeModel> children { get; set; }

    }
原文地址:https://www.cnblogs.com/youmingkuang/p/7195829.html