没有选择复选框时,弹出对话框“请至少选择一条”,这个没问题,但是有复选框被选中时再点击删除,弹出确认对话框“确定要删除所选内容吗?”,下面的确认对话框没有作用,总是在删除后才弹出来,请教大家应该怎么做呢?
 protected void btnDel_Click(object sender, EventArgs e)
    {
       int pgNum = this.pgrUser.CurrentPageIndex;
        int m = 0;
        for (int i = 0; i < gvAchQust.Rows.Count; i++)
        {
            CheckBox ckb = (CheckBox)this.gvAchQust.Rows[i].Cells[0].FindControl("ck");
            if (ckb.Checked)
            {
                btnDel.Page.ClientScript.RegisterStartupScript(this.GetType(), "PleaseCheck", "return confirm('确定删除所选的已归档咨询问题吗')", true);            
                string id = this.gvAchQust.DataKeys[i].Value.ToString();
                qus.DeleteQuestion(Convert.ToInt32(id));
            }
            else
                m++;
            if (m == gvAchQust.Rows.Count)
                 btnDel.Page.ClientScript.RegisterStartupScript(this.GetType(), "PleaseCheck", "alert('必须选择至少一条咨询问题')", true);
            BindGv(pgNum);   
    }
qus是BLL层的方法

解决方案 »

  1.   

    http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.gridview.rowdeleting%28VS.80%29.aspx
    还可以设置下onclientclick="javascript:return confirm('确定删除所选的已归档咨询问题吗')"
      

  2.   

    btnDel.Page.ClientScript.RegisterStartupScript(this.GetType(), "PleaseCheck", "return confirm('确定删除所选的已归档咨询问题吗')", true); 
    只有在当前执行完成页面返回以后才会注册执行
    如果想先提示再删除,估计得在客户端进行提示判断的你对b/s方式的执行方式还不清楚的
      

  3.   

    有道理!另外你那个写法也有问题,在for循环里 ,若很多项被选中,岂不要弹出很多对话框?
      

  4.   

    onclientClic="return confirm('确定删除所选的已归档咨询问题吗')"
    或 ClientScript.RegisterStartupScript(this.GetType(), "PleaseCheck", "if(confirm('确定删除所选的已归档咨询问题吗'))document.getElementById('hf').value='1';else
    document.getElementById('hf').value='0;",true);  
    if(hf.value.Equals("1"))
    {}
      

  5.   

    onclientClick="return confirm('确定删除所选的已归档咨询问题吗')" 
      

  6.   

    另外你那个写法也有问题,在for循环里 ,若很多项被选中,岂不要弹出很多对话框这个不会弹出很多个的,因为注册的名称都一样的,后面会覆盖前面的
      

  7.   

    你的逻辑是有错误的,你这样判断就是说,只要这个选中不选中都会有提示信息,可以这样,在循环的外部定义一个变量 如m=1 在循环中如果有要删除的情况则改变这个m的值,然后在循环之外看m的值变了没有,如果变了就证明有删除的了,如果没有就提示至少选中其中第一条;这些可以放在客户端完成吗?要不然很浪费资源的了
      

  8.   

    这个:return confirm('确定删除所选的已归档咨询问题吗')" 
    较难控制