0

内に ASP.NETRepeaterコントロールがありUpdatePanelます。(テンプレートImageButtonの内部) をクリックすると、別のコントロールを更新する必要があります。Repeater問題は、それをトリガーすることができないということです。

パネルupPanelRotatorが更新されます...これは望ましくありません...別のパネルを更新するためにサーバーにコールバックしたいだけです-これはサーバーから制御します。

何か案は?

<asp:UpdatePanel ID="upPanelRotator" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:Repeater ID="rptRotator" runat="server" OnItemCommand="rptRotator_ItemCommand">
            <ItemTemplate>
                <asp:ImageButton ID='imgBtn' runat="server" />
        </asp:Repeater>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="imgBtn" EventName="ItemCommand" />
    </Triggers>
</asp:UpdatePanel>
4

3 に答える 3

0

更新する updatepanel に非同期ポストバック トリガーを追加できるはずです。リピーターのコントロールIDと「ItemCommand」イベントをイベント名として設定します...次のように:

<asp:UpdatePanel ID="updatePanel2" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="repeaterId" EventName="ItemCommand" />
    </Triggers>
    <ContentTemplate>

...

于 2013-08-13T15:30:07.207 に答える
0

私は今、同様の状況にあり、別のUpdatePanelのRepeater内にコントロールをラップし、そのコントロールのAutoPostBack="true"を設定し、登録するようにこれを行いました

< asp:AsyncPostBackTrigger ControlID="imgBtn" EventName="Click"/ >

これに関する私の唯一の考慮事項は、そのような数の UpdatePanels がパフォーマンスにどのように反映されるかです。DB エントリが少ない小さなプロジェクトがありますが、大量のデータについては、そのような介入の前後でパフォーマンスをテストします。

于 2013-09-09T07:32:04.483 に答える
0

PanelA にトリガー ボタンがあり、PanelB を更新する場合は、PanelB を囲む UpdatePanel に非同期ポストバック トリガーを設定する必要があります。問題は、ボタンの実際の ID を指定する必要があることです。これは、上記のように imgButton を指定しても機能しません (リピーターには多くのボタンが存在する可能性があり、非同期トリガーには、できない参照が 1 つ必要なためです)。探す)。これを非常に簡単にするために、すべてを UpdatePanel にラップすると、作業が楽になります。それ以外の場合は、私が信じているコードから非同期ポストバック トリガーを追加する必要があります。

于 2013-04-19T14:56:55.213 に答える