0

ネストされた更新パネルがあり、両方に独自の更新の進行状況があります。子更新パネル内のボタンをクリックすると、親の更新の進行状況もトリガーされます。

これを修正するには?

<asp:UpdatePanel ID="UpdatePanelParent" runat="server">
        <ContentTemplate>
            ...
            ... some controls
            ...
            <asp:UpdatePanel ID="UpdatePanelChild" runat="server" >
                <ContentTemplate>
                    ...
                    ... some controls
                </ContentTemplate>
            </asp:UpdatePanel>

            <asp:UpdateProgress ID="UpdateProgressChild" runat="server" AssociatedUpdatePanelID="UpdatePanelChild" DisplayAfter="0">
                <ProgressTemplate>    
                    Updating child...
                </ProgressTemplate>
                </asp:UpdateProgress>


        </ContentTemplate>
</asp:UpdatePanel>    
<asp:UpdateProgress ID="UpdateProgressParent" runat="server" AssociatedUpdatePanelID="UpdatePanelParent" DisplayAfter="0">
    <ProgressTemplate>    
        Updating parent...
    </ProgressTemplate>
</asp:UpdateProgress>
4

1 に答える 1

0

以下のように、デザインを入れ子にするのではなく、2 つの個別の更新パネルとして変更することをお勧めします。

<asp:UpdatePanel ID="UpdatePanelParent" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:Label ID="lblParent" runat="server" Text="Label"></asp:Label>
                <asp:Button ID="btnParent" runat="server" Text="Button" OnClick="btnParent_Click" />
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="btnParent" EventName="Click" />
            </Triggers>
        </asp:UpdatePanel>
        <asp:UpdatePanel ID="UpdatePanelChild" runat="server">
            <ContentTemplate>
                <asp:Label ID="lblChild" runat="server" Text="Label"></asp:Label>
                <asp:Button ID="btnChild" runat="server" Text="Button" OnClick="btnChild_Click" />
            </ContentTemplate>
        </asp:UpdatePanel>
        <asp:UpdateProgress ID="UpdateProgressChild" runat="server" AssociatedUpdatePanelID="UpdatePanelChild"
            DisplayAfter="0">
            <ProgressTemplate>
                Updating child...
            </ProgressTemplate>
        </asp:UpdateProgress>
        <asp:UpdateProgress ID="UpdateProgressParent" runat="server" AssociatedUpdatePanelID="UpdatePanelParent"
            DisplayAfter="0">
            <ProgressTemplate>
                Updating parent...
            </ProgressTemplate>
        </asp:UpdateProgress>

UpdatePanelParentが作成されるため、コントロールからUpdateMode="Conditional"指定された が作成された場合にのみ更新され、は常に更新されます。したがって、期待される出力を維持することを願っています。TriggerUpdatePanelChild

于 2013-01-23T06:20:38.263 に答える