1

Repeater次のように、ネストされたカスタムCompositeControlコントロールが含まれています。

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コントロールには2つ含まれていますButtons。どちらかをクリックしても、のItemCommandイベントはRepeater呼び出されません。ボタンを右に動かすと、機能しますItemTemplate。しかし、私はそれらを現在の場所に保持する必要があります。

それらを制御階層にバブルアップする正しい方法は何ですか?

4

2 に答える 2

3

あなたのページ(リピーターを含む)がリッスンできるイベントをコントロールにスローさせることができます。各コントロールを初期化するときに、イベントに必要な情報を提供できます。

于 2012-12-12T17:11:08.250 に答える
1

これらのコントロールはItemTemplateの外部にあるため、実際にはItemCommandをトリガーできません。

ItemCommandには、ボタンがItemTemplateの外にある場合は使用できない特定の属性があります(たとえば、クリックされたアイテムのインデックスを決定するためのItemIndex)。

于 2012-12-12T14:00:38.897 に答える