Exemplo n.º 1
0
        /// <summary>
        /// 检查是否有权限
        /// </summary>
        /// <param name="roleid">角色id</param>
        /// <param name="navname">菜单名称</param>
        /// <param name="actiontype">操作类型</param>
        /// <returns>是否有权限</returns>
        private bool Exist(int roleid, string navname, string actiontype)
        {
            ht_manager_role role = db.ht_manager_role.FirstOrDefault(x => x.id == roleid);

            if (role == null)
            {
                return(false);
            }
            if (role.roletype == 1)
            {
                return(true);
            }
            ht_manager_role_value model = role.ht_manager_role_value.FirstOrDefault(x => x.navname == navname && x.actiontype == actiontype);

            return(model != null);
        }
Exemplo n.º 2
0
        private void ShowInfo(int _id)
        {
            ht_manager_role model = db.ht_manager_role.FirstOrDefault(x => x.id == _id);

            txtRoleName.Text          = model.rolename;
            ddlRoleType.SelectedValue = model.roletype.ToString();
            //管理权限
            if (model.ht_manager_role_value != null)
            {
                for (int i = 0; i < rptList.Items.Count; i++)
                {
                    string       navName       = ((HiddenField)rptList.Items[i].FindControl("hidName")).Value;
                    CheckBoxList cblActionType = (CheckBoxList)rptList.Items[i].FindControl("cblActionType");
                    for (int n = 0; n < cblActionType.Items.Count; n++)
                    {
                        ht_manager_role_value modelt = model.ht_manager_role_value.ToList().Find(x => x.navname == navName && x.actiontype == cblActionType.Items[n].Value.ToString());
                        if (modelt != null)
                        {
                            cblActionType.Items[n].Selected = true;
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        private void get_navigation_childs(HttpContext context, List <Menu> menus, int parentid, int roletype, List <ht_manager_role_value> rolevalues)
        {
            List <Menu> list    = menus.Where(x => x.parentid == parentid).ToList();
            bool        isWrite = false; //是否输出开始标签
            int         i       = 0;

            foreach (Menu item in list)
            {
                //是否在界面上显示菜单
                bool isshow = item.isshow != 2;
                if (isshow && roletype > 1)
                {
                    string[] actiontypes = item.actiontype.Split(',');
                    foreach (string actiontype in actiontypes)
                    {
                        if (actiontype.Equals("Show"))
                        {
                            ht_manager_role_value rolevalue =
                                rolevalues.Find(x => x.navname == item.name && x.actiontype == "Show");
                            if (rolevalue == null)
                            {
                                isshow = false;
                            }
                        }
                    }
                }
                //如果没有权限则不显示
                if (!isshow)
                {
                    if (isWrite && i == list.Count - 1 && parentid > 0)
                    {
                        context.Response.Write("</ul>\n");
                    }
                    continue;
                }

                //如果是顶级导航
                if (parentid == 0)
                {
                    context.Response.Write("<div class=\"list-group\">\n");
                    context.Response.Write("<h1 title=\"" + item.subtitle + "\">");
                    if (!string.IsNullOrEmpty(item.iconurl.Trim()))
                    {
                        context.Response.Write("<img src=\"" + item.iconurl + "\" />");
                    }
                    context.Response.Write("</h1>\n");
                    context.Response.Write("<div class=\"list-wrap\">\n");
                    context.Response.Write("<h2>" + item.title + "<i></i></h2>\n");
                    //调用自身迭代
                    get_navigation_childs(context, menus, item.id, roletype, rolevalues);
                    context.Response.Write("</div>\n");
                    context.Response.Write("</div>\n");
                }
                else //下级导航
                {
                    if (!isWrite)
                    {
                        isWrite = true;
                        context.Response.Write("<ul>\n");
                    }
                    context.Response.Write("<li>\n");
                    context.Response.Write("<a navid=\"" + item.name + "\"");
                    if (!string.IsNullOrEmpty(item.linkurl))
                    {
                        context.Response.Write(" href=\"" + item.linkurl + "\" target=\"mainframe\"");
                    }
                    if (!string.IsNullOrEmpty(item.iconurl))
                    {
                        context.Response.Write(" icon=\"" + item.iconurl + "\"");
                    }
                    context.Response.Write(" target=\"mainframe\">\n");
                    context.Response.Write("<span>" + item.title + "</span>\n");
                    context.Response.Write("</a>\n");
                    //调用自身迭代
                    get_navigation_childs(context, menus, item.id, roletype, rolevalues);
                    context.Response.Write("</li>\n");

                    if (i == (list.Count - 1))
                    {
                        context.Response.Write("</ul>\n");
                    }
                    i++;
                }
            }
        }