为什么我的checkbox 选中后,提取不到true状态,提取值依然为false。为什么,有大神看看吗?如下图
****************************************************************************************
前台: <f:TemplateField HeaderText="值班"> <ItemTemplate> <asp:CheckBox runat="server" ID="cbZhiBanRen" Width="40" AutoPostBack="true"></asp:CheckBox>
</ItemTemplate> </f:TemplateField>
****************************************************************************************
后台: for (int i = 0, count = GridChaXun.Rows.Count; i < count; i++) {
if(cbZhiBanRen.Checked) { strZhiBan += GridChaXun.Rows[i].DataKeys[0]; } }
****************************************************************************************
页面:
页面已经选择其中几行了,但是在后台循环时,cbZhiBanRen.Checked为false,其他部分都正常,为什么呢?
protected void Page_Load(object sender, EventArgs e)
{
CheckBox chk = new CheckBox();
chk.Text = "testall"; // 这局桐里可以换成数据库的内容
chk.CheckedChanged += new EventHandler(chk_CheckedChanged);
chk.AutoPostBack = true;
Page.Form.Controls.Add(chk);
for (int i = 0; i < 10; i++)
{
CheckBox chk2 = new CheckBox();
chk2.Text = "test" + i.ToString(); // 这里可以换成数据库的内容
chk2.Checked = (i % 3 == 0); /丛旅/ 这里可以换成数据库的桐郑坦内容
Page.Form.Controls.Add(chk2);
}
}
void chk_CheckedChanged(object sender, EventArgs e)
{
CheckBox all = sender as CheckBox;
foreach(Control ctl in Page.Form.Controls)
{
if (ctl is CheckBox)
{
CheckBox chk = ctl as CheckBox;
chk.Checked = all.Checked;
}
}
}