关于DataList中CheckBox的CheckedChanged事件。。。

RT我现在有这么一个需求...当我勾选了DataList中的后面的某一项CheckBox...就会触发一个事件...我是这么写的。。protectedvoidchkFen... RT 我现在有这么一个需求...当我勾选了DataList中的后面的某一项CheckBox...就会触发一个事件...我是这么写的。。
protected void chkFen_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < DataList1.Items.Count; i++)
{
CheckBox chkFen = (CheckBox)DataList1.Items[i].FindControl("chkFen");
if (chkFen.Checked == true)
{
----这里面是触发的事件
}
}

}
如果我一项一项的勾选没有问题...但是如果我之前勾选了很多项...突然发现有一项勾错了,我要去掉它。。于是我把已经勾选了很多项的其中的一项去掉....上面的事件也会执行...因为我写的方法有点问题...每勾选一项,它会从头到尾的循环一次。。如果发现其中一个CheckBox的Checked为True ,那么它会触发事件....

有没有什么其它的方法能解决这样的问题..拜谢了
展开
 我来答
百度网友52c2bed
2010-11-17 · TA获得超过1156个赞
知道小有建树答主
回答量:761
采纳率:0%
帮助的人:1037万
展开全部
二楼的正解

只是onclick事件为客户端事件,所以OnCheckedChanged="chkFen_CheckedChanged"不变

只要改一下后台程序就可以了
protected void chkFen_CheckedChanged(object sender, EventArgs e)
{
DataListItem item = (DataListItem)(((Control)sender).NamingContainer);
CheckBox chkFen = (CheckBox)DataList1.Items[ item.ItemIndex].FindControl("chkFen");
if (chkFen.Checked == true)//不过有个问题,如果你是取消选择的话chkFen.Checked ==false,事件就没有执行,那么你取消操作相当于没有执行,这就看你程序是逻辑是怎么设计的了,啰嗦一下,呵呵
{
//这里面是触发的事件
}
}

}
gcf98765
2010-11-17 · TA获得超过333个赞
知道小有建树答主
回答量:741
采纳率:0%
帮助的人:422万
展开全部
我没太看懂。

我想,你是不是可以定义一个bool数组啊,该数组就记录DataList里CheckBox状态的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQ2k5
2010-11-17 · TA获得超过438个赞
知道小有建树答主
回答量:911
采纳率:25%
帮助的人:259万
展开全部
在checkbox的onclick事件中
DataListItem item = (DataListItem)(((Control)sender).NamingContainer);
int m = item.ItemIndex;//这个i为操作的行
吧那个CheckedChanged去掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式