我有一个包含转发器的用户控件。我们在用户控件中添加了一些分页和排序,一切运行良好。
我现在需要的是一种很好的方法来捕获内部转发器的OnItemDataBound事件,然后将其冒泡以便可以直接从页面内的用户控件访问。
我们已尝试捕获它,然后在用户控件中声明它,但它不起作用。有没有人曾经尝试过这个,如果有的话,我可以看到一些代码来暗示它的外观。
非常感谢
答案 0 :(得分:0)
尝试这样的事情:
<asp:Repeater ID="Repeater1" runat="server"
onitemdatabound="Repeater1_ItemDataBound">
</asp:Repeater>
然后订阅该事件,并发布具有相同数据的另一个事件
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
OnInnerRepeaterItemDataBound(sender,e);
}
public event EventHandler<RepeaterItemEventArgs> InnerRepeaterItemDataBound;
public void OnInnerRepeaterItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (InnerRepeaterItemDataBound != null)
InnerRepeaterItemDataBound(sender, e);
}
应该这样做,现在你可以订阅当你的内部Repeater1_ItemDataBound触发时将触发的用户控件事件InnerRepeaterItemDataBound。