1

ネストされた子と親の UpdatePanel があります。問題は、子 UpdatePanel が更新/投稿されると、親の UpdateProgress が起動することです。どうすればこれを防ぐことができますか? 構造は次のようになります。

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>

        <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
                    <ProgressTemplate></ProgressTemplate>
        </asp:UpdateProgress>

        <asp:UpdateProgress ID="UpdateProgress2" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
                    <ProgressTemplate></ProgressTemplate>
        </asp:UpdateProgress>

        <asp:UpdatePanel ID="UpdatePanel2" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:UpdateProgress ID="UpdateProgress3" runat="server" AssociatedUpdatePanelID="UpdatePanel2">
                                    <ProgressTemplate></ProgressTemplate>
                                </asp:UpdateProgress>
            </ContentTemplate>
                </asp:UpdatePanel>

        </ContentTemplate>
</asp:UpdatePanel>

UpdatePanel2投稿されUpdateProgress3ても表示されませんがありませUpdateProgress1UpdateProgress2。私は何をすべきか?

4

2 に答える 2

1

UpdateModeプロパティUpdatePanel1は指定されていないため、デフォルトで に設定されます。これは、ページ上の他のユーザーが部分的なポストバックを実行したときに更新されることAlwaysを意味します。UpdatePanel1UpdatePanel

UpdateMode="Conditional"あなたのすべてで指定してみてくださいUpdatePanels

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
</asp:UpdatePanel>
于 2010-11-23T16:02:02.500 に答える
1

ここに見られる: http://www.asp.net/AJAX/Documentation/Live/overview/UpdateProgressOverview.aspx

UpdatePanel コントロールが別の更新パネル内にある場合、子パネル内で発生したポストバックにより、子パネルに関連付けられた UpdateProgress コントロールが表示されます。また、親パネルに関連付けられている UpdateProgress コントロールも表示されます。ポストバックが親パネルの直接の子コントロールから発生した場合、親パネルに関連付けられた UpdateProgress コントロールのみが表示されます。これは、ポストバックがトリガーされる方法のロジックに従います。

したがって、親の UpdateProgress clientside を非表示にする必要があると思います。

PageRequestManager クラスの JavaScript beginRequest イベントと endRequest イベントを使用して、UpdateProgress コントロールが表示されるタイミングをプログラムで制御できます。beginRequest イベント ハンドラーで、UpdateProgress コントロールを表す DOM 要素を表示します。endRequest イベント ハンドラーで、要素を非表示にします。

于 2015-06-11T13:56:17.283 に答える