asp.net mvc Tree类别递归

来源:互联网 发布:surface laptop 知乎 编辑:程序博客网 时间:2024/06/03 11:57

 Tree

在后台动态生成Tree的json数据,往往会遇到一个节点包含多个子节点的情况,这个时候就需要构建一个ViewModel来装载数据。

public class CmbTree
    {
        public int id { get;set; }
        public string text { get;set; }
        public string iconCls { get;set; }
        public List<Object> children { get;set; }
    }

然后递归获取数据的集合

复制代码
[NonAction]        public List<CmbTree> GetTreeNode(int id)        {            List<CmbTree> cmbTreeList = new List<CmbTree>();            using (PDSContext db = new PDSContext())            {                var parentList = db.regionals.Where(p => p.ParentID == id).ToList();                if (parentList.Count >= 1)                {                    foreach (Regional item in parentList)                    {                        CmbTree cmbTree = new CmbTree { id = item.ID, text = item.RegionalName, children = new List<Object>() };                        List<CmbTree> tempList = GetTreeNode(item.ID);                        if (tempList.Count >= 1)                        {                            cmbTree.children.Add(tempList);                        }                        else                        {                            cmbTree.children = null;                        }                        cmbTreeList.Add(cmbTree);                    }                }            }            return cmbTreeList;        }
复制代码
0 0
原创粉丝点击