执行效果:DataList项模板里放上CheckBox和需要显示的数据,让选定一系列的CheckBox后,单击全部删除按钮可实现同时删除选定的项,并作出是否删除有数据的判断.
全部删除按钮放在DataList的项模板以外,DataList的DataKeyField设置为每项的主键.
bool flag = false ; // 定义一个是否删除了数据的标记 foreach (DataListItem dlt in DataList1.Items) // 循环取出DataList里的每一项 { // 用DataListItem的FindControl方法找到CheckBox,参数为CheckBox的ID,返回为Control类型,将其转换成CheckBox CheckBox ckb = (CheckBox)dlt.FindControl( " cbDelete " ); if (ckb.Checked) // 判断CheckBox是否选中 { int id = Convert.ToInt32(DataList1.DataKeys[dlt.ItemIndex]); // 取出DataList该项的主键,用于数据库删除操作 PostOperate po = new PostOperate(); // 实例化封装的数据操作类 flag = po.Delete(id); // 执行类中的Delete方法删除数据,删除成功则返回True,如果没有删除数据,flag为false } } if (flag) // 根据flag的值判断是否删除有数据 { JS.AlertAndReturn( this .Page, " 文章删除成功! " , " postmanager.aspx " ); } else { JS.AlertAndReturn( this .Page, " 没有选定要删除的项! " , " postmanager.aspx " ); }