內部的按鈕時ItemCommand不觸發我有一個包含嵌套自定義CompositeControl
控制以下列方式一Repeater
:中繼點擊複合控制
Wrapper
Head
Body
<asp:UpdatePanel ID="noteArea" UpdateMode="Conditional" ChildrenAsTriggers="false" runat="server" >
<ContentTemplate>
<asp:Repeater ID="noteRepeater" runat="server" EnableViewState="true" OnItemDataBound="noteRepeater_ItemDataBound" OnItemCommand="noteRepeater_ItemCommand">
<ItemTemplate>
<asp:Button runat="server" CommandName="edit" ID="testButton" />
<easit:NoteControl ID="noteControl" runat="server" />
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
Head
控件包含兩個Buttons
。當我點擊其中任何一個時,事件Repeater
不會被調用。如果我將按鈕向右移動到ItemTemplate
,它可以工作。但我需要保持他們在哪裏。
什麼是正確的方式來控制他們的控制層次?
嗨,我試過這樣做,但遇到了另一個問題。流程永遠不會到達我爲按鈕點擊定義的事件處理程序,即使我在包含它的控件中綁定了「OnInit」。我懷疑這是因爲它的父控制創建了它的控制結構'OnPreRender',但是如果我嘗試將它移動到'OnLoad'或'OnInit','Repeater'顯示爲空。 –
這是因爲按鈕事件處理程序不會捕獲該事件,中繼器駐留的頁面將處理它。使按鈕捕捉事件的唯一原因是能夠獲取關於哪個元素被點擊的信息。正如我在我的回答中所述,您可以將UC所需的任何信息傳遞給UC以處理事件。那有意義嗎? –
@AlexandarŽivkovič:謝謝先生。這一切都適合你嗎?還有其他問題嗎? –