二楼的正解
只是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,事件就没有执行,那么你取消操作相当于没有执行,这就看你程序是逻辑是怎么设计的了,啰嗦一下,呵呵
{
//这里面是触发的事件
}
}
}
我没太看懂。
我想,你是不是可以定义一个bool数组啊,该数组就记录DataList里CheckBox状态的。
在checkbox的onclick事件中
DataListItem item = (DataListItem)(((Control)sender).NamingContainer);
int m = item.ItemIndex;//这个i为操作的行
吧那个CheckedChanged去掉