我在中继器中有一个用户控件。用户控件有一个 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...
}
我读过中继器 ItemCommand 处理程序应该从子控件侦听 BubbleEvent 并随后处理它,但事实并非如此。页面上的 OnBubbleEvent 处理程序也没有拾取它。换句话说,事件只是迷路了。我知道它正在触发,因为我可以在调试器中单步执行时看到它。
我之前成功使用过 RaiseBubbleEvent,但从未在中继器中使用过,所以我不确定我尝试的是否正确。有什么想法吗?