2013-10-11 45 views
0

我使用ajax UpdateProgress欄在asp點網絡按鈕點擊但查詢執行寫入格式但prrgress欄不運行如何解決這種類型的問題.plz幫助我給我任何解決方案的進度條Ajax UpdateProgress不工作

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
<style type="text/css"> 
    .style1 
    { 
     width: 100%; 
    } 
</style> 
<script language="javascript" type="text/javascript"> 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 

    prm.add_initializeRequest(InitializeRequest); 
    prm.add_endRequest(EndRequest); 
    var postBackElement; 
    function InitializeRequest(sender, args) { 

     if (prm.get_isInAsyncPostBack()) 
      args.set_cancel(true); 
     postBackElement = args.get_postBackElement(); 
     if (postBackElement.id == 'Button1') 
      $get('UpdateProgress1').style.display = 'block'; 
    } 



    function EndRequest(sender, args) { 
     if (postBackElement.id == 'Button1') 
      $get('UpdateProgress1').style.display = 'none'; 
    } 



</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
    <asp:ToolkitScriptManager ID="ScriptManager1" runat="server"> 
     </asp:ToolkitScriptManager> 

     <table class="style1"> 
      <tr> 
       <td> 
        &nbsp;</td> 
       <td> 
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
       </td> 
       <td> 
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
       </td> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
      </tr> 
      <tr> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
      </tr> 
      <tr> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
      </tr> 
      <tr> 
       <td> 
        </td> 
       <td> 
        </td> 
       <td> 
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click"Text="Button"/> 
       </td> 
       <td> 
        </td> 
       <td> 
        </td> 
       <td> 
         </td> 
      </tr> 
      <tr> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
       <td> 

       </td> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
       <td> 
        &nbsp;</td> 
      </tr> 
      <tr> 
       <td> 
        &nbsp;</td> 
       <td> 
       </td> 
       <td> 
       </td> 
       <td> 
       </td> 
       <td> 
        </td> 
       <td> 
       </td> 
      </tr> 
     </table> 


    <asp:UpdateProgress ID="PageUpdateProgress" runat="server"> 
         <ProgressTemplate> 
          <asp:UpdateProgress ID="UpdateProgress1" runat="server"> 
           <ProgressTemplate> 
           <img src="images/ajax-loader.gif" alt="image missing" /> 
           </ProgressTemplate> 
          </asp:UpdateProgress> 
         </ProgressTemplate> 
        </asp:UpdateProgress> 

    </ContentTemplate> 
    </asp:UpdatePanel> 
    </form> 
    </body> 
</html> 

回答

0

我認爲您在這裏錯過了prm.add_beginRequest(onPrmBeginRequest);

onPrmBeginRequest = function (sender, args) { 
    var postBackElement = args.get_postBackElement(); 
    if (postBackElement.id == 'Button1') { 
     $get('UpdateProgress1').style.display = 'block'; 
    } 
} 

所以適當的代碼塊移動從initializeRequestbeginRequest

進度當請求開始必須被顯示。現在

您可以在endrequest隱藏。

注意

id可以除非指定clientIDMode已被ASP.Net錯位。因此,請確保您使用id,如ctl00_ContentPlaceHolder1_UpdateProgress1

+0

此代碼不能運行... –

+0

試想一下,在來源,'id'必須是由ASP.Net錯位。使用該ID。它必須是'... $ ... $ UpdateProgress1' – Abhitalks