我在repeater控件中加入了checkBox控件,想要在checkbox有改变是时获取是哪一行发生变化,发现无法触发ItemCommand事件,而checkbox控件自身的oncheckboxchanged事件无法得到是哪行发生变化。
请大家帮帮忙,有什么办法???
请大家帮帮忙,有什么办法???
解决方案 »
- 正则高手快来...
- 如何显示网上图片?
- C# 如何绘制出弧形的图片.
- 无法将类型“System.Data.DataColumn”隐式转换为“System.Data.DataColumn[]”
- CSC34C.tmp 编译问题
- dataset 的 acceptchanges()
- vSS2005+VS2005到最后一步出现的问题
- 请问一下,有没有像C++运行库里一样memcmp的内存比较函数啊?谢谢了
- wpf mvvm模式下,如何实现右键选中TreeView.SelectItem ?????
- C#用递归计算1-2+3-4+5-6+7-8+9的值
- WebService VS Remoting?
- 后台的变量或一个控件的量 访问前台JS变
代码如下
<asp:CheckBox ID="checkboxChoicItem" runat="server" CssClass="List_ItemCheckBoxStyle" Checked='<%# Eval("ChoicItem") %>' OnCheckedChanged="checkboxChoicItem_Changed" AutoPostBack="true"/>
OnCheckedChanged事件也能捕捉到,现在问题是无法确定是哪一行的checkbox触发的该事件,repeater自身的ItemCommand无法使用CheckBox 触发
通过ID不就可以找了
我能使用this.repeaterProjectList.Items[index].FindControl("checkboxChoicItem")找到每行的数据,但是无法确定是哪行的checkbox触发了该事件?
然后 去 它的 父控件,,,一直到 repeater 的位置!
你跟踪下HTML代码遍历去 取 父控件,当TAGNAME = repeater的HTML标签时,就OK
void chk_CheckedChanged(object sender, EventArgs e)
{
CheckBox chk = sender as CheckBox;
RepeaterItem item = chk.NamingContainer as RepeaterItem;
Label lbl = item.FindControl("lbl") as Label;
}