Je viens juste de commencer à sevrer moi-même à partir de ASP.NET UpdatePanels. Je suis à l'aide de jQuery et jTemplates de lier les résultats d'un service web pour une grille, et tout fonctionne bien.
Voici la chose: je suis en train de montrer un spinner GIF tandis que la table est en cours d'actualisation (à la UpdateProgress dans ASP.NET j'en ai tout fonctionne, sauf que le compteur est bloqué. Pour voir ce qu'il se passe, j'ai essayé de déplacer le compteur de la mise à jour des progrès div et sur la page où je peux le voir tout le temps. Il tourne et tourne jusqu'à ce que le démarrage de l'actualisation, et reste figé jusqu'à ce que l'actualisation est effectuée, puis commence à tourner à nouveau. Pas vraiment ce que vous voulez à partir d'un "please wait" spinner!
C'est dans IE7 - n'ont pas eu la chance de tester dans d'autres navigateurs encore. Toutes les pensées? Ajax est l'appel ou le côté client de la liaison de données tellement de ressources que le navigateur est incapable de s'occuper de ses GIFs animés?
Mise à jour
Voici le code qui actualise la grille. Pas sûr si cela est synchrone ou asynchrone.
updateConcessions = function(e) {
$.ajax({
type: "POST",
url: "Concessions.aspx/GetConcessions",
data: "{'Countries':'ga'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
applyTemplate(msg);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
}
});
}
applyTemplate = function(msg) {
$('div#TemplateTarget').setTemplate($('div#TemplateSource').html());
$('div#TemplateTarget').processTemplate(msg);
}
Mise à jour 2
Je viens de vérifier le jQuery documentation et de l' $.ajax()
méthode est asynchrone par défaut. Juste pour le plaisir, j'ai ajouté cette
$.ajax({
async: true,
...
et il n'a fait aucune différence.