MVC动态获取树形菜单信息

菜单效果如图:

MVC动态获取树形菜单信息_第1张图片

后台递归得到菜单树代码:

        /// 获取菜单树
        /// 
        /// 菜单父节点ID
        /// 
        public IEnumerable GetList(string ParentID)
        {
            var list = Query(m => m.ParentID == ParentID).ToList();
            foreach (var item in list)
            {
                MenuInfo menu = new MenuInfo();
                menu.MenuID = item.MenuID;
                menu.MenuName = item.MenuName;
                menu.Controller = item.Controller;
                menu.ControllerName = item.ControllerName;
                menu.Action = item.Action;
                menu.ActionName = item.ActionName;
                menu.Url = item.Url;
                menu.ParentID = item.ParentID;
                menu.Icon = item.Icon;
                menu.children.AddRange(GetList(menu.MenuID));
                yield return menu;
            }
        }
Action将得到的菜单数据转为json结构如下:

MVC动态获取树形菜单信息_第2张图片

拿到菜单树json数据,我们就可以在前端利用js遍历去构造树了。



你可能感兴趣的:(EasyUI,jQuery,ASP.NET,MVC,C#)