2013-04-30 3 views
0

J'ai une liste déroulante (id = ddl) dans asp.net qui met à jour les données async via Ajax. Maintenant je veux montrer le panneau de chargement seulement quand la demande Ajax a été initialisée. Alors, quelle sera la meilleure option?Jquery dans asp.net avec AJAX

Ce code ne fonctionne pas ...

$("#ddl").ajaxStart(function() { ShowLoadingPanel(); }).ajaxStop(); 

Répondre

0

// Fonctions globales pour afficher/masquer sur demande ajax

$(document).ajaxStart(function() { 
    ShowLoadingPanel(); 
}); 

$(document).ajaxStop(function() { 
    HideLoadingPanel(); 
}); 

Ou se lient avec l'élément particulier

$("#ddl").bind("ajaxStart", function() { 
    ShowLoadingPanel(); 
}); 

$("#ddl").bind("ajaxStop", function() { 
    HideLoadingPanel(); 
}); 

et lorsque vous avez terminé avec appel ajax effectuer unbind

$("#ddl").unbind(); 
+0

puis-je utiliser cette fonction dans le bloc Doucment.ready ... ..? – user1849388

+0

oui vous pouvez l'appeler dans document.ready –

1

Pour appel AJAX spécifique:

$.ajax({..., beforeSend: function(){ /* show the loading thing */ }, 
    complete: function(){ /* hide the loader */ }}); 

Général:

jQuery.ajaxSetup({ 
    beforeSend: function() { 
    $('#loader').show(); 
    }, 
    complete: function(){ 
    $('#loader').hide(); 
    }, 
    success: function() {} 
}); 

Mon record personnel jQuery “Please Wait, Loading…” animation?:

// a bit modified for jQuery 1.8 and error handling (CSS and instruction at the link) 
    $(document).on(
     { 
      ajaxStart : function() 
      { 
       if (!$('div.modal').length) 
       { 
        $('body').append($('<div>', 
        { 
         'class' : 'modal' 
        })); 
       } 

       $('body').addClass("loading"); 
      }, 
      ajaxStop : function() 
      { 
       $('body').removeClass("loading"); 
      }, 
      ajaxError : function(e, x, settings, exception) 
      { 
       var message, statusErrorMap = 
       { 
        '400' : "Server understood the request but request content was invalid.", 
        '401' : "Unauthorised access.", 
        '403' : "Forbidden resouce can't be accessed", 
        '500' : "Internal Server Error.", 
        '503' : "Service Unavailable." 
       }; 

       if (x.status) 
       { 
        message = statusErrorMap[x.status]; 
        if (!message) 
        { 
         message = "Unknow Error."; 
        } 
       } else if (e == 'parsererror') 
       { 
        message = "Error.\nParsing JSON Request failed."; 
       } else if (e == 'timeout') 
       { 
        message = "Request Time out."; 
       } else if (e == 'abort') 
       { 
        message = "Request was aborted by the server"; 
       } else 
       { 
        message = "Unknow Error."; 
       } 

       alert(message); 
      } 
     });