OnCheckedChanged在updatepanel中的Repeater中为CheckBox多次触发

时间:2011-06-21 17:46:28

标签: asp.net checkbox updatepanel repeater

我在更新面板中有一个转发器。转发器的内容每5秒刷新一次。 (AsyncPostBackTrigger绑定到计时器的tick事件)

在转发器的每个项目中都有一个复选框,其中autopostback设置为true。 我想在每次刷新转发器后保留每个复选框的状态,这就是我在Page.Session中保存它的状态的原因。然后在tick事件处理程序中,我将Checkbox的Checked值设置为会话中的值。不幸的是,这似乎触发了OnCheckedChanged事件,因此我不再知道哪个事件处理程序调用来自用户交互,哪些来自代码。

任何人都知道为什么OnCheckChanged不止一次被触发,我该怎么办? 防止额外的发生?有没有办法阻止AsyncPostBackTrigger触发Checkbox的OnCheckedChanged事件?

1 个答案:

答案 0 :(得分:1)

您可以通过选中Page.Request.Params.Get("__EVENTTARGET")来找出导致回发的控件,该{{1}}会返回控件的ID。然而...

如果不阅读您的代码我肯定不知道,但您不必担心会检查选中哪个复选框,检查状态应该保存在viewstate中(除非您关闭它...)所以如果不是这种情况,您的网页可能还有其他问题。