小弟在gridview中添加了一个包含Checkbox的模版列,用来进行删除
然后再页面里面有一个删除用button在初始化时给这个button添加提示的属性protected void btnDelete_Click(object sender, EventArgs e)
    {
        for (int rowindex = 0; rowindex < this.dgrdUserManager.Rows.Count; rowindex++)
        {
            if (((CheckBox)this.dgrdUserManager.Rows[rowindex].Cells[0].FindControl("SelectCheckbox")).Checked == true)
            {
               //删除
            }
        }
    }protected void Page_Load(object sender, EventArgs e)
{
   this.btnDelete.Attributes.Add("onclick", "return confirm('您真的要删除吗?');");
}一般情况下没有问题,但当gridview中所有Checkbox都没有选中的情况下,仍然会首先提示“是否要删除”想请教一下各位大哥,有没有办法判断到所有Checkbox都没有选中的情况下,可以提示“请选择用户 
”,而在有Checkbox选中情况下,提示“你选择了××个用户,是否确认删除 

解决方案 »

  1.   

    this.btnDelete.Attributes.Add("onclick", "return GoCheck();");
    function GoCheck()
    {
    var tb = document.getElementById("GridView1");
    var bSel = false;
        for(var i=1;i<tb.rows.length;i++)
       {
    if(tb.rows[i].cells[0].firstChild.checked)
          {
             bSel = true;
             break;
         }
    } if(!bSel)
     {
          alert("请选择!");return false;
    }
     return confirm("您真的要删除?");
    }
      

  2.   

    试了下,好像没有获取到Checkbox状态 
    function GoCheck()是写在前台页面的吧?
    是不是if(tb.rows[i].cells[0].firstChild.checked)这句没有起效果? firstChild是什么意思呢?
      

  3.   

    firstChild是第一个控件.看看checkbox前有没有空格,如果有去掉
      

  4.   

    <asp:TemplateField>
                                                                        <ControlStyle Width="6%" />
                                                                        <ItemStyle BorderColor="#666666" BorderWidth="1px" Height="20px" HorizontalAlign="Center"
                                                                            Width="6%" />
                                                                        <HeaderStyle CssClass="p14" Width="6%" />
                                                                        <ItemTemplate>
                                                                            <asp:CheckBox ID="SelectCheckbox" runat="server" />
                                                                        </ItemTemplate>
                                                                    </asp:TemplateField>
    这是我前台的代码,应该是没有空格的
      

  5.   

    <asp:TemplateField>
    <ControlStyle Width="6%" />
    <ItemStyle BorderColor="#666666" BorderWidth="1px" Height="20px"  HorizontalAlign="Center" Width="6%" />
    <HeaderStyle CssClass="p14" Width="6%" /><ItemTemplate>
    <asp:CheckBox ID="SelectCheckbox" runat="server" />
    </ItemTemplate></asp:TemplateField>重新发一个,好看一点
      

  6.   

    if(tb.rows[i].cells[0].firstChild.firstChild.checked)
      

  7.   

    问题解决!
    多谢慕白兄~  还有一个小尾巴~ 
    如果要在 return confirm("您真的要删除?");这个弹出提示中加入选中记录的条数,这个应该怎么写呢?获取记录条数自己应该能写出来.