Exemple #1
0
        /// <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());
        }