Analytics

2016年11月3日 星期四

[UpdateProgress]解決 Javascript觸發時UpdateProgress未顯示( UpdateProgress is not working when Javascript is triggered)


問題
Javascript觸發時UpdateProgress未顯示



解決方法
.aspx
  1.  <style type="text/css">
  2.     .transparent
  3.     {
  4.         zoom: 1;
  5.         filter: alpha(opacity=50);
  6.         opacity: 0.5;
  7.         width: 100%;
  8.         background-color: Gray;
  9.         height: 100%;
  10.         position: absolute;
  11.         left: 0;
  12.         top: 0;
  13.         z-index: 9999999;
  14.         text-align: center;
  15.         margin-top: 0px;
  16.     }
  17.     </style>
  18.  
  19.     <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
  20.         <ProgressTemplate>
  21.             <div id="divMask" class="transparent">
  22.                 <table width="100%">
  23.                     <tr>
  24.                         <td style="height: 300px">
  25.                             <h2>
  26.                                 L O A D I N G . . . . . .</h2>
  27.                         </td>
  28.                     </tr>
  29.                 </table>
  30.             </div>
  31.         </ProgressTemplate>
  32.     </asp:UpdateProgress>
  33. <asp:UpdatePanel ID="UpdatePanel1" runat="server">
  34.         <ContentTemplate>
  35. <div style="display: none" id="div1">
  36.             <asp:Button ID="btnGetData" runat="server" Text="Button" OnClick="btnGetData_Click" />
  37.         </div>
  38. </ContentTemplate>
  39. <%-- <Triggers>
  40.             <asp:AsyncPostBackTrigger ControlID="btnGetData" />
  41.         </Triggers>--%>
  42.     </asp:UpdatePanel>
  43.  
.cs
  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3.     if (!IsPostBack)
  4.     {
  5.         string processId = UpdateProgress1.ClientID;
  6.         string btnId = btnGetData.ClientID;
  7.         string script = string.Format(@"
  8. var process = document.getElementById('{1}');
  9. process.style.display = 'block';
  10. var btn = document.getElementById('{0}');btn.click();
  11. btn.click();
  12. ", btnId, processId);
  13.         ScriptManager.RegisterStartupScript(this, this.GetType(), "disableDiv", script, true);
  14.     }
  15. }

沒有留言:

熱門文章