2013-10-11 3 views
0

Я использую панель ajax UpdateProgress в asp dot net с нажатием кнопки, но запрос выполняется в формате записи, но prrgress bar не работает, как использовать этот тип проблемы.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'; 
    } 
} 

Так переместить соответствующий блок кода из initializeRequest в beginRequest.

Теперь вы можете спрятать в endrequest.

Примечание:

id, возможно, был растерзан ASP.Net, если clientIDMode не указан. Поэтому убедитесь, что вы используете id, например ctl00_ContentPlaceHolder1_UpdateProgress1.

+0

этот код не работает ... –

+0

Просто посмотрите на источник, 'id', должно быть, искалечен ASP.Net. Используйте этот идентификатор. Это должно быть что-то вроде '... $ ... $ UpdateProgress1' – Abhitalks

Смежные вопросы