为什么我的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,其他部分都正常,为什么呢? 展开
前台: <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,其他部分都正常,为什么呢? 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏30(财富值+成长值)
1个回答
展开全部
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;
}
}
}
{
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;
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询