/// <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); }
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; } } } } }
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++; } } }