2013-10-11 42 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