以上为部分代码: 在到了控件CheckBox但是它的checked属性总是为初始状态,后来我加了GridView的EnableViewState属性,可还是老样子。        <asp:GridView ID="gvManageUser" runat="server" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="id"
            ForeColor="#333333" GridLines="None" Width="950px" EnableViewState="true">
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <Columns>
                <asp:TemplateField HeaderText="删除">
                    <ItemTemplate>
                        <asp:CheckBox runat="server" ID="cbDel" Checked="false"/>
                    </ItemTemplate>    protected void btnDel_Click(object sender, EventArgs e)//利用CheckBox删除
    {
        for (int index = 0; index < gvManageUser.Rows.Count; index++)
        {
            if (((CheckBox)gvManageUser.Rows[index].Cells[0].FindControl("cbDel")).Checked == true)
            {
                SqlConnection conn = new SqlConnection(connStr);
                int itemID = Convert.ToInt32(gvManageUser.DataKeys[index].Value);
                string cmdStr = "Delete from tbUser where id=" + itemID.ToString();
                SqlCommand cmd = new SqlCommand(cmdStr, conn);
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
                gvManageUser.DataBind();
            }
        }
    }

解决方案 »

  1.   

    情况就是,如果CheckBox的Checked状态为false,那么就算勾了也不删除;如果状态为true,把勾点掉也全删掉。而且一点删除按钮CheckBox的Checked属性就会变回初始状态。
      

  2.   

    page_load里的绑定代码加上if(!IsPostBack)判断
      

  3.   

    绑定什么代码?GridView吗?绑定了。
      

  4.   

    同楼上:
    检查EnableViewState 和是否绑定在if(!IsPostBack)
      

  5.   

    果然是没加if(!IsPostBack),CSDN还是好人多啊,谢谢大家了。
      

  6.   

    呵呵,IspostBack少了,就重新加载了,不可大意