/// <summary> /// 递归处理数据 /// </summary> /// <param name="systemMenuEntities"></param> /// <param name="rootNode"></param> public static List <SysTemMenus> GetTreeNodeListByNoLockedDTOArray(List <SystemMenuEntity> systemMenuEntities, SysTemMenus rootNode) { if (systemMenuEntities == null || systemMenuEntities.Count() <= 0) { return(null); } var childreDataList = systemMenuEntities.Where(p => p.Pid == rootNode.id); if (childreDataList != null && childreDataList.Count() > 0) { rootNode.child = new List <SysTemMenus>(); foreach (var item in childreDataList) { SysTemMenus treeNode = new SysTemMenus() { id = item.Id, icon = item.Icon, href = item.Href, title = item.Title, }; rootNode.child.Add(treeNode); } foreach (var item in rootNode.child) { GetTreeNodeListByNoLockedDTOArray(systemMenuEntities, item); } } return(rootNode.child); }
public IActionResult GetMenuList() { SysTemMenus rootNode = new SysTemMenus() { id = 0, icon = "", href = "", title = "根目录", }; var systemMenuEntities = _dbContext.systemMenus.Where(s => s.Id > 0).ToList(); //将rootNode的Child 赋值返回给 MenusInfoResultDTO.MenuInfo 返回给前端就行 MenusInfoResultDTO menusInfoResultDTO = new MenusInfoResultDTO() { menuInfo = GetTreeNodeListByNoLockedDTOArray(systemMenuEntities, rootNode), //rootNode.Child, logoInfo = new LogoInfo(), homeInfo = new HomeInfo() }; return(Json(menusInfoResultDTO)); }