读书人

gridview选择删除的一个有关问题

发布时间: 2012-08-28 12:37:01 作者: rapoo

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; } 

读书人网 >asp.net

热点推荐