//按钮事件 void gvUser_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Page") { return; } GridViewRow drv = ((GridViewRow)(((LinkButton)(e.CommandSource)).Parent.Parent)); //此得出的值是表示那行被选中的索引值 //此获取的值为GridView中绑定数据库中的主键值,取值方法是选中的行中的第一列的值,drv.RowIndex取得是选中行的索引 long userID = (long)gvUser.DataKeys[drv.RowIndex].Value; //if (gvUser.DataKeys[drv.RowIndex].Values["UserRoleID"] == null) // userID = (long)gvUser.DataKeys[drv.RowIndex].Values["UserID"]; //else // userRoleID = (long)gvUser.DataKeys[drv.RowIndex].Values["UserRoleID"]; List <CSUserWithSchoolAndRole> dsSearch = (List <CSUserWithSchoolAndRole>)ViewState["dsSearch"]; CSUserWithSchoolAndRole drs = dsSearch.SingleOrDefault(p => p.UserID == userID); List <ContestDll.User> dsUser = DAL.User.GetUserByAccount(drs.Account); ViewState["cityID"] = drs.AreaID; ViewState["RoleID"] = drs.RoleID; if (e.CommandName == "ViewDetail") { DAL.Common.OpenWindow(Page, "UserInfo.aspx?Edit=0&&UserID=" + drs.UserID + "&&CityID=" + drs.AreaID + "&&Role=" + drs.RoleID + "&&SchollID" + drs.SchoolID); } else if (e.CommandName == "ViewDelete") { DAL.Common.OpenWindow(Page, "UserInfo.aspx?Edit=1&&UserID=" + drs.UserID + "&&CityID=" + drs.AreaID + "&&Role=" + drs.RoleID + "&&SchollID" + drs.SchoolID); } ShowButton(); }
//设置用户的多个角色或取消角色 private void Approve(string strBody, string strTitle, int stateID) { try { long loginID = DAL.Common.LoginID; List <long> userIDs = new List <long>(); foreach (GridViewRow row in gvUser.Rows) { CheckBox myCheckBox = (CheckBox)row.FindControl("ckb"); if (myCheckBox.Checked) { long userID = long.Parse(gvUser.DataKeys[row.RowIndex].Value.ToString()); List <CSUserWithSchoolAndRole> dsSearch = (List <CSUserWithSchoolAndRole>)ViewState["dsSearch"];//结果只是个查询 CSUserWithSchoolAndRole dr = dsSearch.SingleOrDefault(p => p.UserID == userID); userIDs.Add((int)dr.UserID); } } List <int> userRoles = new List <int>(); foreach (ListItem chk in cblRole.Items) { if (chk.Selected) { userRoles.Add(int.Parse(chk.Value)); } } int result = BLL.User.UpdateUserRole(userIDs, userRoles, stateID, DAL.Common.GetContestID(Page), loginID); if (result > 0) { DAL.Common.ShowMessage(Page, this.GetType(), strTitle + "保存成功 " + result + " 人"); btnSearch_Click(null, null); } else { DAL.Common.ShowMessage(Page, this.GetType(), "操作失败"); } } catch { DAL.Common.ShowMessage(Page, this.GetType(), "操作失败"); } }