以上为部分代码: 在到了控件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();
}
}
}
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();
}
}
}
检查EnableViewState 和是否绑定在if(!IsPostBack)