为什么我的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,其他部分都正常,为什么呢?
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏30(财富值+成长值)
杭州同济医院13
2015-06-03 · TA获得超过864个赞
知道大有可为答主
回答量:2494
采纳率:0%
帮助的人:1839万
展开全部
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;
}
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式