public JsonResult GetRolePrivileges(int RoleID, FormCollection form) { List <JsonTreeNode> treelist = new List <JsonTreeNode>(); string parentId = form["id"]; List <Privilege> list = sysManageService.GetRoleAuthorizationPermissions(RoleID, base.UserId, parentId); foreach (Privilege p in list) { JsonTreeNode node = new JsonTreeNode(); node.hasChildren = p.HasChild; node.id = p.PrivilegeCode; node.text = p.PrivilegeName; node.value = p.IsChecked ? "true" : "false"; node.showcheck = true; node.checkstate = p.IsChecked ? (byte)1 : (byte)0; if (string.IsNullOrEmpty(parentId) && node.hasChildren && treelist.Count == 0) //如果是第一层就再获取一层 { List <Privilege> clist = sysManageService.GetRoleAuthorizationPermissions(RoleID, base.UserId, node.id); foreach (Privilege cp in clist) { JsonTreeNode cnode = new JsonTreeNode(); cnode.hasChildren = cp.HasChild; cnode.id = cp.PrivilegeCode; cnode.text = cp.PrivilegeName; cnode.value = cp.IsChecked ? "true" : "false"; cnode.showcheck = true; cnode.checkstate = cp.IsChecked ? (byte)1 : (byte)0; node.ChildNodes.Add(cnode); } node.complete = true; node.isexpand = true; } treelist.Add(node); } return(Json(treelist)); }