DataList同时选定删除多项

执行效果: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");
}
原文地址:https://www.cnblogs.com/zhangchenliang/p/3060520.html