首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

全选删除的有关问题,哪位高手来帮上小弟我感谢了

2013-03-22 
全选删除的问题,谁来帮下我感谢了。protected void Button1_Click(object sender, EventArgs e){foreach (D

全选删除的问题,谁来帮下我感谢了。
protected void Button1_Click(object sender, EventArgs e)
    {
        foreach (DataListItem dli in this.DataList1.Items)
        {
            Label lab = (Label)dli.FindControl("Label1");
            bool b = ((CheckBox)dli.FindControl("CheckBox3")).Checked;
            if (b)
            {
                int id = Convert.ToInt32(lab.Text);
                BLL.Article bll = new BLL.Article();
                int num = bll.Delete(id);
                if (num > 0)
                {
                    Response.Write("<script>alert('删除成功');</script>");

                }
                else
                {全选删除的有关问题,哪位高手来帮上小弟我感谢了
                    Response.Write("<script>alert('删除失败');</script>");
                }
            }


        }
        Bindlist();
    }
我这个是全选删除,先循环查找出被选中的复选框然后获取ID来一条条删除,问题就是删除一条弹出一个删除成功有什么办法让他不管删除多少条只弹出一个删除成功对话框吗
[解决办法]
两个方法:
1、先把要删除的id都记录下来,然后提交一起批量删除;
2、先搞一个bool变量,如果有删除失败,则变量为false,否则为true
  把那个提示语句移到循环外面,根据这个bool变量来判断是提示成功还是失败,这样就只有一次提示了
[解决办法]
提示放在循环外边也可以
[解决办法]
int num=0;  
foreach (DataListItem dli in this.DataList1.Items)
{
    Label lab = (Label)dli.FindControl("Label1");
    bool b = ((CheckBox)dli.FindControl("CheckBox3")).Checked;
if (b)
{
    int id = Convert.ToInt32(lab.Text);
    BLL.Article bll = new BLL.Article();
    num = bll.Delete(id);
                
}


}

if (num > 0)
{
    Response.Write("<script>alert('删除成功');</script>");
}
else
{
     Response.Write("<script>alert('删除失败');</script>");


}

热点排行