[英]UpdateProgress not working
我有一個UpdateProgress
並且嘗試回發時顯示loading gif
但是當我單擊按鈕時,此代碼不起作用。
使用此代碼不會發生任何事情,並且單擊按鈕后也不會返回任何帖子。
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1" DynamicLayout="true">
<ProgressTemplate>
<asp:Image ID="ImageWait" runat="server" ImageUrl="../images/wait.gif" />
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="ButtonSave" runat="server" Text="Save" OnClick="ButtonSave_Click" ValidationGroup="Valid1" />
</ContentTemplate>
</asp:UpdatePanel>
protected void ButtonSave_Click(object sender, EventArgs e)
{
// Some code
}
我怎樣才能解決這個問題?
在UpdatePanel內手動觸發AsyncPostBackTrigger到您的控件,並提供將觸發的ControlID和EventName:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" > </ContentTemplate> <asp:Button ID="ButtonSave" runat="server" Text="Save" OnClick="ButtonSave_Click" /> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="ButtonSave" EventName="Click" /> </Triggers> </asp:UpdatePanel>
將關聯的UpdatePanel的ID提供給UpdateProgress:
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
您可以使用System.Threading.Thread.Sleep(3000);
在事件中測試其工作情況System.Threading.Thread.Sleep(3000);
:
protected void ButtonSave_Click(object sender, EventArgs e) { // delay it for 3 milliseconds System.Threading.Thread.Sleep(3000); //... Here will be your logic }
默認情況下(在UpdateProgress控件中未設置任何值)
DisplayAfter="500"
如果您的回發“太快”,UpdateProgress將不會顯示...嘗試將其設置為:
DisplayAfter="1"
檢查它是否正常工作,然后設置所需的值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.