我期望这是相当简单的,但是我找不到/想出简单/智能的解决方案.
我有一个CheckBoxList,它有一个OnSelectedIndexChanged事件.如果用户选择(选中)框中的一个项目,则触发该事件并执行后面的代码.简单.
现在,如果用户取消选中一个框,我需要在后台做一些工作,但是问题是,当用户随后在列表中取消选择某个项目时,它会触发该事件,但是在代码benind事件中,该列表不会保留指向该项目的指针用户刚刚取消选择.我发现这很奇怪,并且我想我必须丢失一些明显的东西,尽管各种搜索没有产生任何具体的结果.
我想我可以在检查的项目后面的代码中维护一个列表,并且每次触发该事件时,都要找出已删除的内容,但是如果有一个更简单的解决方案,这似乎有些过头了.
谢谢,
麦可
解决方法:
是的,甚至没有通过强制发送者来找到取消选中项的绝妙方法
以下是一个棘手的代码,可为您提供引起事件触发的项目索引
protected void checkboxlist_SelectedIndexChanged(object sender, EventArgs e)
{
CheckBoxList list = (CheckBoxList)sender;
string[] control = Request.Form.Get("__EVENTTARGET").Split('$');
int idx = control.Length - 1;
string sel = list.Items[Int32.Parse(control[idx])].Value;
}
获得索引后,您可以选择项目并编写代码.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!