我有一箇中繼器嵌套在父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' - 事件)被重新創建。這就是控件實際創建的地方。 –