/// <summary> /// 根据用户主键id查询用户可以访问的菜单 默认2层 /// </summary> public string GetUserMenu(int id) { DataTable dt = dal.GetUserMenu(id); StringBuilder sb = new StringBuilder(); sb.Append("["); DataRow[] rows = dt.Select("menuparentid = 0"); //赋权限每个角色都必须有父节点的权限,否则一个都不输出了 if (rows.Length > 0) { for (int i = 0; i < rows.Length; i++) { string stateStr = "open";// "closed"; if (i == 0) { stateStr = "open"; } sb.Append("{\"id\":\"" + rows[i]["menuid"].ToString() + "\",\"text\":\"" + rows[i]["menuname"].ToString() + "\",\"iconCls\":\"" + rows[i]["icon"].ToString() + "\",\"state\":\"" + stateStr + "\",\"children\":["); sb.Append(GetChildMenuStr(dt, rows[i]["menuid"].ToString(), stateStr)); } sb.Remove(sb.Length - 1, 1); sb.Append("]"); } else { sb.Append("]"); } return(sb.ToString()); }