2017-10-08 72 views
0

我有一个UpdateProgress,我试图显示一个loading gif,而回发
但是,当我单击按钮时,此代码不起作用。
UpdateProgress不工作

这段代码没有任何反应,也没有回发点击按钮。

<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的

回答

1
  • 设置的UpdateMode为Conditional
  • 手动触发AsyncPostBackTrigger里面的UpdatePanel你控制并给控件ID和事件名称,将火:

    <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);测试:

    protected void ButtonSave_Click(object sender, EventArgs e) 
    { 
        // delay it for 3 milliseconds 
        System.Threading.Thread.Sleep(3000); 
    
        //... Here will be your logic 
    } 
    
+0

我没有这些但不工作的,图像不显示和无后再次.. –

+1

我加System.Threading.Thread 。睡眠(1000);在按钮代码 - 现在看到的图像 - 谢谢。 –