2009-02-05 8 views
1

Disons que dans le HTML avec l'aide d'un UpdatePanel, j'ai le gif animé "loading" qui s'exécute pendant qu'ASP.NET traite les données d'un webservice.Écoutez les événements: en HTML à partir de .NET

Je me demande s'il y a un moyen de mettre en œuvre un événement dans le code .NET qui peut être écouter à partir du code HTML, comme:

Je demande les données des personnes d'un WebService, un par un, et je voulais le texte de chargement dans les spectacles de côté HTML.

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

et sur

Y at-il astuce pour le faire?

en ce moment j'ai dans mon code HTML

la HEAD partie

<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> 

l'CORPS parties a:

<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> 

Nous vous remercions de l'aide.

Répondre

0

Pourriez-vous ne pas utiliser AJAX pour ce faire. Lancez votre requête sur le service web sur un thread séparé. Le thread doit conserver une instance d'une variable (ou une référence à une) qui suit la progression du service Web. Le javascript pourrait ensuite faire un appel toutes les 2 secondes pour obtenir le statut, puis mettre à jour votre code HTML en conséquence.

1

AJAX.NET de Microsoft est un contrôle de niveau supérieur, donc il est facile à utiliser, mais vous êtes un peu limité.

Avec Michael Schwarz's AJAX.NET library, vous pouvez le faire de cette façon:

  1. Ecrivez une méthode pour faire importer des informations. Cette méthode va écrire un journal à la session ou ailleurs. Ecrivez une deuxième méthode pour vérifier ce journal et imprimer pendant que l'opération se poursuit.

Questions connexes