2009-02-05 65 views
1

假設在HTML中藉助於UpdatePanel,當ASP.NET正在處理來自web服務的數據時,我正在運行「加載」動畫gif。收聽事件:從.NET中獲取HTML

我只是想知道是否有實現的.NET代碼的事件,可以從HTML代碼來聽,喜歡的方式:

我是從一個WebService,一個請求人數據一個,我想在HTML端顯示加載文本。

Importing person 1 
Importing Person 2 
Importing Person 3 
All Done! 

進出

有任何把戲做到這一點?

現在我在我的HTML代碼

HEAD部分

<script type="text/JavaScript" language="JavaScript"> 

    function pageLoad() { 

     try { 
      var manager = Sys.WebForms.PageRequestManager.getInstance(); 
      manager.add_endRequest(endRequest); 
      manager.add_beginRequest(OnBeginRequest); 
      manager 
     } 
     catch (err) { 
     } 
    } 

    function OnBeginRequest(sender, args) { 

     $("#loadingText").html("<img src='_assets/img/animated/parweb_loading.gif' alt='' />&nbsp;" + strLoadingText); 
    } 

    function endRequest(sender, args) { 
    } 

</script> 

BODY部分有這樣的有:

<asp:UpdateProgress AssociatedUpdatePanelID="pnlAllIn" runat="server" ID="pnlUpdating"> 
    <ProgressTemplate> 
     <div id="loadingText" style="background-color: Red; position: absolute; width: 200px; 
      top: 0px; right: 20px; padding: 5px; color: White; text-align: center; vertical-align: middle; 
      font-size: 14px;"> 
     </div> 
    </ProgressTemplate> 
</asp:UpdateProgress> 

謝謝你的幫助。

回答

0

難道你不能使用AJAX來做到這一點。在單獨的線程上關閉對web服務的查詢。線程應該保存一個跟蹤web服務進度的變量實例(或引用一個變量)。然後,JavaScript可以每2秒鐘撥打一次電話以獲取狀態,然後相應地更新您的HTML。

1

微軟的AJAX.NET是一個上層控件,所以它很容易使用,但你有點有限。

隨着Michael Schwarz's AJAX.NET library,你能做到這樣:

  1. 寫做導入信息的方法。此方法將寫入會話或其他地方的日誌。

  2. 編寫第二種方法來檢查此日誌並在操作繼續時進行打印。