我有一个中继器嵌套在父Repeater的ItemTemplate
中。我通常用标记将它们连接到控件声明。嵌套中继器 - ItemCommand只有通过标记连接才会触发
<asp:Repeater runat='server' id='myParentRepeater'>
<ItemTemplate>
<asp:Repeater runat='server' id='mynestedRepeater' OnItemCommand='myMethod'>
...
</asp:Repeater>
...
</ItemTemplate>
</asp>
今天,我决定做它的代码隐藏,特别是在父母的ItemDataBound
方法repeater./
((Repeater)e.item.FindControl("MyParentRepeater")).ItemCommand += ...
但它不会以这种方式工作。除非我使用标记,否则事件处理程序不会触发。为什么是这样?或者,假设它应该工作,有人可以告诉我我做错了什么?
是否在每次回发'ItemCreated'火?无论控制权是否反弹?我一直认为接线是用javascript来完成的,它可以持续回传... – 5arx
@ 5arx:是的,'ItemCreated'是当项目(或者在GridView的情况下是行并且它是'RowCreated' - 事件)被重新创建。这就是控件实际创建的地方。 –