我在中继器内部有一个用户控件。用户控件有一个ImageButton,单击该按钮时,应向将处理该事件的页引发一个事件:
//Button onClick event in user control
protected void btnOpenOption_Click(object sender, ImageClickEventArgs e)
{
RaiseBubbleEvent(sender, e);
}
下面是页面上的两种方法。一个用于处理来自子控件的BubbleEvent,另一个用于处理中继器的ItemEvent命令:
protected void rptProcessOptions_ItemCommand(object source, RepeaterCommandEventArgs e)
{
//do something...
}
protected override bool OnBubbleEvent(object source, EventArgs args)
{
//do something else...
}
我已经读过repeater ItemCommand处理程序应该从子控件监听BubbleEvent并随后处理它,但事实并非如此。页面上的OnBubbleEvent处理程序也没有接收它。换言之,这件事正逐渐失去意义。我知道它正在启动,因为当我进入调试器时可以看到这一点。
我以前使用过raiseubbleevent,但从未在中继器中使用过,所以我不确定我所尝试的是否正确。有什么想法吗?