public async Task<IHttpActionResult> GetSysNav() { IList<SysModule> _list = (await _moduleRepository.QueryAsync(o => o.IsLock == false)).OrderBy(o => o.Sort).ToList(); var trees = new List<TreeNode>(); var parents = _list.Where(o => o.ParentId.Equals(Guid.Empty)); foreach (var model in parents) { if (!UserAuthorize.IsAuthorized(model.Code, OperationCode.Show)) continue; //判断权限 TreeNode node = new TreeNode(); node.Id = model.Id; node.Text = model.Name; node.IconCls = model.Icon; GetTree(node, _list, model.Id); trees.Add(node); } return Json(trees); }
/// <summary> /// 递归获取树菜单 /// </summary> /// <param name="parent"></param> /// <param name="list"></param> /// <param name="parentId"></param> private void GetTree(TreeNode parent, IList<SysModule> list, Guid parentId) { var query = list.Where(m => m.ParentId == parentId); if (query.Any()) { if (parent.Children == null) { parent.Children = new List<TreeNode>(); } foreach (var model in query) { if (!UserAuthorize.IsAuthorized(model.Code, OperationCode.Show)) continue; //判断权限 TreeNode child = new TreeNode() { Id = model.Id, Text = model.Name, IconCls = model.Icon, Attributes = new { url = model.Url } }; parent.Children.Add(child); this.GetTree(child, list, model.Id); } } }
public async Task<IHttpActionResult> GetComboTree() { IList<SysModule> _list = (await _moduleRepository.QueryAsync(o => o.IsLock == false)).OrderBy(o => o.Sort).ToList(); var trees = new List<TreeNode>(); trees.Add(new TreeNode() { Id = Guid.Empty, Text = "无父节点" }); var parents = _list.Where(o => o.ParentId.Equals(Guid.Empty)); foreach (var model in parents) { TreeNode node = new TreeNode(); node.Id = model.Id; node.Text = model.Name; GetTree(node, _list, model.Id); trees.Add(node); } return Json(trees); }