相关代码
前台
 <asp:GridView ID="GridView1" runat="server">
    <Columns>
       <asp:TemplateField>
         <ItemTemplate>
            <asp:CheckBox ID="CheckBox1" runat="server"/>
          </ItemTemplate>
       <asp:TemplateField>
       <asp:HyperLinkField DataNavigateUrlFields="id"  DataNavigateUrlFormatString="content.aspx?id={0}" DataTextField="title"  HeaderText="标题"> 
          <ItemStyle Font-Size="Smaller" HorizontalAlign="Left" Height="25px"></ItemStyle>
       </asp:HyperLinkField>
     </Columns>
   </GridView >
<asp:CheckBox ID="CheckBox2" runat="server" Text="全选" oncheckedchanged="CheckBox2_CheckedChanged" AutoPostBack="True" />
<asp:Button ID="Button2" runat="server" Text="取消" onclick="Button2_Click" />&nbsp;&nbsp;&nbsp;
<asp:Button ID="Button3" runat="server" Text="删除" onclick="Button3_Click" />后台
 protected void Page_Load(object sender, EventArgs e)
   {
       if (!IsPostBack)
            {
                Bind();
            }
    } protected void Button1_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow row in GridView1.Rows)
            {
                ((CheckBox)row.Cells[0].FindControl("CheckBox1")).Checked = true;
            } 
        }
        private void Bind()
        {
            //相关绑定数据
        }
        protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
        {
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
                if (CheckBox2.Checked == true)
                {
                    cbox.Checked = true;
                }
                else
                {
                    cbox.Checked = false;
                }
            }
        }        protected void Button2_Click(object sender, EventArgs e)
        {
            CheckBox2.Checked = false;
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
                cbox.Checked = false;
            }
        }        protected void Button3_Click(object sender, EventArgs e)
        {
            for (int i = 0; i <= this.GridView1.Rows.Count - 1; i++)
            {
                
                CheckBox cbox = (CheckBox)(GridView1.Rows[i].Cells[1].FindControl("CheckBox1"));
                if (cbox.Checked == true)
                {
                    
                    SqlCommand comm = new SqlCommand("delete from book where id='" + GridView1.DataKeys[i].Value + "'", sqlconn);
                    sqlconn.Open();
                    comm.ExecuteNonQuery();
                    sqlconn.Close();
                }
            }
            Bind();
        }

解决方案 »

  1.   

    ((CheckBox)row.Cells[0].FindControl("CheckBox1")).Checked = true;
    ===============
    ((CheckBox)row.FindControl("CheckBox1")).Checked = true; CheckBox cbox = (CheckBox)(GridView1.Rows[i].Cells[1].FindControl("CheckBox1"));
    ===========
     CheckBox cbox = (CheckBox)(GridView1.Rows[i].FindControl("CheckBox1"));
      

  2.   

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
    bool commend = (((CheckBox)(GridView1.Rows[e.RowIndex].Cells[2].FindControl("CheckBox1"))).Checked == true ? true: false);
        }
      

  3.   

    foreach (GridViewRow row in GridView1.Rows)
      {
      ((CheckBox)row.FindControl("CheckBox1")).Checked = true;
      }  
    通过JS全选
      

  4.   

    http://topic.csdn.net/u/20100722/09/65740b5f-05b6-41f8-8a07-f0b93874e6b0.html
      

  5.   

     改成
    if (cbox.Checked)这样的啦,我之前也遇到这样的问题,只是不知道是什么原因导致的
      

  6.   


            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
                if (cb.Checked)
                {
                    // ......
                }
            }
      

  7.   

    http://blog.csdn.net/xianfajushi/archive/2008/11/30/3413317.aspx
      

  8.   

    首先 Checked 就是获取或者设置一个 boolean值吧?
      

  9.   

    本人有一个超级群:102550065,可以加500个人。希望大家一起探讨ASP,C#等技术。愿意加的都进来。此群才开通,还没有什么人。