0

長くて時間のかかる機能を備えたASP.Netページがあります。計算中に「LOADING」という単語を表示し、計算が完了すると結果を表示したいと思います。コードは次のとおりです。

<asp:UpdatePanel UpdateMode="Always" runat="server" ID="upanel1">
        <ContentTemplate>
            <asp:Button ID="btnGetInfo"  runat="server" Text="Lekérés" OnClick="btnGetInfo_Click" />
        </ContentTemplate>
        <Triggers>
           <asp:AsyncPostBackTrigger ControlID="btnGetInfo" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>
</div>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="upanel1">
    <ProgressTemplate>
        <div>
            LOADING</div>
    </ProgressTemplate>
</asp:UpdateProgress> 

ほぼ機能しています(「LOADING」が表示され、btnGetInfo_Click関数が終了すると、「LOADING」が消えます)。完了したらPostBackが必要です。

私はいくつかの同様の問題を見つけましたが、解決策は私を助けませんでした。

答えてくれてありがとう!

4

1 に答える 1

2

btnGetInfo をクリックすると、部分的なページ ポストバックが発生し、UpdatePanel ContentTemplate 内のコンテンツが更新されます。DataBind() を呼び出したときに GridView が更新されない理由は、それが UpdatePanel ContentTemplate 内にないためです。

ページ全体のポストバックをトリガーすると、UpdatePanel の目的が無効になります。問題を解決するには、GridView を ContentTemplate 内に配置することをお勧めします。

于 2012-10-24T13:37:18.350 に答える