protected void ShowData() { string id = Request["MenuId"]; if (!string.IsNullOrEmpty(id)) { UserMenuBll bll = new UserMenuBll(); UserMenu model = bll.GetModel(Convert.ToInt32(id)); if (model != null) { this.txtMenuName.Text = model.MenuName; this.txtMenuAddress.Text = model.MenuAddress; this.txtMenuOrder.Text = model.MenuOrder.ToString(); this.rdoList.SelectedValue = model.IsNavigation.ToString(); if (model.ParentId == 0) { this.ddlParent.Enabled = false; } else { this.ddlParent.SelectedValue = model.ParentId.ToString(); } } } }
protected void BindRpt() { UserMenuBll bll = new UserMenuBll(); List <UserMenu> list = bll.GetMenuRoleList(Convert.ToInt32(Request["RoleId"])); if (list != null && list.Count > 0) { List <UserMenu> parentList = list.FindAll(delegate(UserMenu m) { return(m.ParentId == 0); }); StringBuilder sb = new StringBuilder(); for (int i = 0; i < parentList.Count; i++) { sb.Append("<tr style=\"text-align:left; font-weight:bold\"><td>"); string id = "chkParent" + parentList[i].MenuId; sb.AppendFormat("<input id='{0}' type='checkbox' {1} onclick=\"{2}\" value='{3}' name='chk' /><label for='{0}' />" + parentList[i].MenuName, id, parentList[i].RoleHas > 0 ? "checked='checked'" : "", "chkParent(this,'menutd" + parentList[i].MenuId + "')", parentList[i].MenuId); sb.Append("</td></tr>"); sb.AppendFormat("<tr style=\"text-align:left\"><td id=\'menutd{0}\'>", parentList[i].MenuId); List <UserMenu> childList = list.FindAll(delegate(UserMenu m) { return(m.ParentId == Convert.ToInt32(parentList[i].MenuId)); }); for (int j = 0; j < childList.Count; j++) { string id2 = "chkChild" + childList[j].MenuId; sb.AppendFormat("<span class=\"ChildSpan\"><input id='{0}' type='checkbox' {1} onclick=\"{2}\" value='{3}' name='chk' /><label for='{0}' />" + childList[j].MenuName + "</span>", id2, childList[j].RoleHas > 0 ? "checked='checked'" : "", "chkChild(" + id + ",'menutd" + parentList[i].MenuId + "')", childList[j].MenuId); } sb.Append("</td></tr>"); } litChild.Text = sb.ToString(); } }
//显示列表数据 protected void BindRpt() { UserMenuBll bll = new UserMenuBll(); List <UserMenu> list = bll.GetList(); if (list != null) { this.rptList.DataSource = bll.GetOrderedList(list); this.rptList.DataBind(); } }
//绑定顶级菜单 protected void BindMenu() { UserMenuBll bll = new UserMenuBll(); List <UserMenu> list = bll.GetTopList(); if (list != null) { this.ddlParent.DataSource = list; this.ddlParent.DataTextField = "MenuName"; this.ddlParent.DataValueField = "MenuId"; this.ddlParent.DataBind(); this.ddlParent.Items.Insert(0, new ListItem("顶级菜单", "0")); } }
//重写OnLoad方法(这里来判断是否有进入页面的权限) protected override void OnLoad(EventArgs e) { loginUser = CommonFun.GetCookieUserData <LoginUserInfo>(this.Page); UserMenuBll bll = new UserMenuBll(); list = bll.GetRoleMenuAddress(loginUser.RoleId); //有人会说这里有损性能,每进一次页面都要读数据库,其实可以用缓存解决,这里我暂时就不添加缓存了 if (!RoleHasMenuAddress(list)) //如果没有进入当前页面的权限 { Response.Write("<script>alert('您没有进入该页面的权限!');</script>"); Response.End(); } else { base.OnLoad(e); } }
protected void rptList_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "del")//如果是删除命令 { int id = Convert.ToInt32(e.CommandArgument.ToString()); UserMenuBll bll = new UserMenuBll(); if (bll.Delete(id, null) > 0) { Response.Write("<script>alert('删除成功!');window.location.href='MenuList.aspx'</script>"); } else { Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('删除失败!');</script>"); } } }
/// <summary> /// 返回所有的缓存信息 /// </summary> /// <returns></returns> public string LoadAllCache(HttpContext context) { OperatorModel operatormsg = OperatorProvider.Provider.GetCurrent(); List <MenuModel> menus = new UserMenuBll().GetUserMenuListByUserId(operatormsg.UserId); var caches = new { userMsg = new { userId = operatormsg.UserId, UserName = operatormsg.UserName, userAccount = operatormsg.UserCode, userPhoto = operatormsg.UserPhoto, isDefaultPwd = operatormsg.IsDefaultPwd.ToString().ToLower() }, dictItems = GetDataItemList(), menuAuths = GetMenuAuth(menus.FindAll(t => t.F_Type == 1 || t.F_Type == 2), "0"), btnAuths = GetButtonAuth(menus.FindAll(t => t.F_Type == 3), menus.FindAll(t => t.F_Type == 2)) }; return(SuccessResult(caches)); }
//保存 protected void btnSave_Click(object sender, EventArgs e) { string id = Request["MenuId"]; UserMenuBll bll = new UserMenuBll(); UserMenu model = null; if (!string.IsNullOrEmpty(id))//如果是修改操作 { model = bll.GetModel(Convert.ToInt32(id)); } else //如果是新增操作 { model = new UserMenu(); } model.MenuName = this.txtMenuName.Text.Trim(); model.MenuAddress = this.txtMenuAddress.Text.Trim(); model.MenuOrder = Convert.ToInt32(this.txtMenuOrder.Text.Trim()); model.ParentId = Convert.ToInt32(this.ddlParent.SelectedValue); model.IsNavigation = Convert.ToInt32(this.rdoList.SelectedValue); int n = 0; if (!string.IsNullOrEmpty(id))//如果是修改操作 { n = bll.Update(model, null); } else //如果是新增操作 { n = bll.Insert(model, null); } if (n > 0) { Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('保存成功!');frameElement.lhgDG.curWin.location.reload();</script>"); } else { Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('保存失败!');frameElement.lhgDG.curWin.location.reload();</script>");//刷新,lhgDG是个第三方的JS弹出窗 } }
//原html代码 //<div class="left_menu"> // <div class="ti" onclick="sh(1)">用户管理</div> // <ul id="1" style="display:block"> // <li><a href="UserManage/AdminList.aspx" target="sysMain">用户列表</a></li> // <li><a href="UserManage/RoleList.aspx" target="sysMain">角色管理</a></li> // <li><a href="UserManage/MenuList.aspx" target="sysMain">菜单管理</a></li> // <li><a href="UserManage/UpdatePassword.aspx" target="sysMain">修改密码</a></li> // </ul> //</div> protected string GetRoleMenu(string roleId) { UserMenuBll bll = new UserMenuBll(); List <UserMenu> allList = bll.GetRoleMenuList(roleId);//先获取该角色拥有的所有菜单 StringBuilder sb = new StringBuilder(); if (allList != null) { List <UserMenu> parentList = allList.FindAll(delegate(UserMenu m) { return(m.ParentId == 0 && m.IsNavigation == 1); });//获得所有一级菜单 for (int i = 0; i < parentList.Count; i++) { sb.Append("<div class=\"left_menu\">"); sb.AppendFormat("<div class=\"ti\" onclick=\"sh({0})\"><a href='javascript:' style='color:black'>{1}</a></div>", parentList[i].MenuId, parentList[i].MenuName); sb.AppendFormat("<ul id=\"{0}\" style=\"display:none\">", parentList[i].MenuId); List <UserMenu> childList = allList.FindAll(delegate(UserMenu m) { return(m.ParentId == parentList[i].MenuId && m.IsNavigation == 1); });//获得某个一级菜单下的所有二级菜单 for (int k = 0; k < childList.Count; k++) { sb.AppendFormat("<li><a href=\"{0}\" target=\"sysMain\">{1}</a></li>", Page.ResolveUrl("~/" + childList[k].MenuAddress), childList[k].MenuName); } sb.AppendFormat("</ul></div>"); } } return(sb.ToString()); }