gridview选择删除的一个问题
我在gridview 里面放了一个checkbox,外面放了一个删除的Button, 我想通过选中的行,来选择删除,但要求删除前有提示,
代码:
- C# code
protected void ButtonDelAll_Click(object sender, EventArgs e) { for (int i = 0; i <= GVInternshipNews.Rows.Count - 1; i++) { CheckBox cb = (CheckBox)GVInternshipNews.Rows[i].FindControl("CheckBoxSelect"); if (cb.Checked) { this.ButtonDelAll.Attributes.Add("OnClick", "return confirm('确定要删除这条记录吗?');"); string guid = this.GVInternshipNews.DataKeys[i]["Guid"].ToString(); dalIntership.DeleteInternshipGuid(guid); } } GridviewBind(); }问题是,我第一次选择一个,点删除按钮,它没有提示语弹出,只有等我第二次删除才会有提示?
请问 这是为什么啊,怎么解决?
[解决办法]
因为你在ButtonDelAll_Click事件里加这句话this.ButtonDelAll.Attributes.Add("OnClick", "return confirm('确定要删除这条记录吗?');");
那么只有在点击ButtonDelAll之后,ButtonDelAll才会有这个属性,所以下一次点击才能弹出提示,在if (!IsPostBack)里加这句话,那你点ButtonDelAll之前,它就有了这个属性。
[解决办法]
还是我来贴代码吧,保证能用
页面上要有一个全选复选框,不然自己修改相应代码吧
- JScript code
//===============================================// 判断checkbox是否中数据// 【输入参数】删除按钮,一条都没有选择点删除的提示语句,删除确认提示,全选复选框// 【返回值】无// 【作成者】// 【概要】 判断checkbox是否中数据//===============================================function IsCheckSelect(btnDelete,selectMsg,deleteMsg,chkSelectAll){ //获得form中所有的子控件 chkElmements = btnDelete.form.elements; for( i=0 ; i < chkElmements.length ; i++ ) { //如果控件类型是checkbox,且不是全选按钮,且为选中状态 if( chkElmements[i].type == "checkbox" && chkElmements[i].checked == true && chkElmements[i].id != chkSelectAll ) { return confirm(deleteMsg); } } //如果没有选中任何一条数据,提示信息,并不执行后台代码 window.alert(selectMsg); return false; }