protected void lvUserRole_ItemCommand(object sender, ListViewCommandEventArgs e) { //检查命令名称 //更新数据 if (e.CommandName == "UpdateById") { //当前角色id Int16 roleId = Convert.ToInt16(Session["role_id"]); //检测是否有权限 if (roleId < 0 || roleId > 2) { throw new Exception("您没有更新记录权限!"); } //当前行 var itm = e.Item; //全部DropDownList var ddlUser = (DropDownList)itm.FindControl("ddlUser"); var ddlRole = (DropDownList)itm.FindControl("ddlRole"); //获取值 var iUser = Convert.ToInt16(ddlUser.SelectedValue); var iRole = Convert.ToByte(ddlRole.SelectedValue); var iId = Convert.ToInt32(e.CommandArgument); //检测设置的角色值 if (roleId > 0 && iRole > 1) { throw new Exception("设置的角色不能是超级IT管理员和IT管理员!"); } //数据适配器 using (var da = new t_user_proc_roleTableAdapter()) { try { //执行更新 da.UpdateById(iUser, iRole, iId); //设置当前编辑的行索引号 lvUserRole.EditIndex = -1; //重新绑定数据 lvUserRole.DataBind(); } catch { } } } }
protected void lvUserMgr_ItemDeleting(object sender, ListViewDeleteEventArgs e) { //取消请求执行自定义的方法 e.Cancel = true; //当前角色id Int16 roleId = Convert.ToInt16(Session["role_id"]); //检测是否有权限 if (roleId < 0 || roleId > 2) { throw new Exception("您没有删除记录权限!"); } //当前待删除的行的用户id var userId = Convert.ToInt16(e.Keys[0]); //该用户不存在任何部门的任何角色才能删除 using (var da = new t_user_proc_roleTableAdapter()) { if (da.CountByUserId(userId) > 0) { throw new Exception("该用户不存在任何部门的任何角色才能删除!"); } } //根据id执行删除数据 e.Cancel = false; }