ASP.Net UpdatePanel不做PostBack

时间:2012-10-24 13:19:48

标签: asp.net updatepanel postback

我有一个ASP.Net页面,功能很长,耗时。我希望它在计算时显示“加载”字样,并在完成后显示结果。这是代码:

<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”disapperrs)。完成后我只需要一个PostBack。

我发现了一些类似的问题,但解决方案并没有帮助我。

感谢您的回答!

1 个答案:

答案 0 :(得分:1)

单击btnGetInfo时发生的是部分页面回发,它会刷新UpdatePanel ContentTemplate中的内容。调用DataBind()时GridView未更新的原因是因为它不在UpdatePanel ContentTemplate中。

触发整页回发会破坏UpdatePanel的目的。我建议您将GridView放在ContentTemplate中以解决问题。