Je voudrais savoir sur l'approche recommandée
Eh bien, cela dépend de ce que vous faites, quelles parties du formulaire sont mise à jour vous, quelle est la forme, quelles valeurs vous sont envoyés au serveur. En règle générale, si vous voulez mettre à jour quelque chose de simple (liste déroulante, listbox, etc.), vous utiliserez généralement JavaScript (ou jQuery) pour appeler un service Web compatible AJAX. De cette façon, vous envoyez seulement au serveur les données dont il a besoin, des choses comme ViewState/cookies ne sont pas envoyées sur le réseau. Vous avez également un contrôle total sur les événements d'exécution pré/post (vous pouvez donc ajouter vos images de chargement, appeler le WS, puis les effacer). Cependant, si vous voulez mettre à jour de manière asynchrone un formulaire entier (qui a beaucoup de contrôles), vous avez probablement raison d'utiliser un UpdatePanel. Des choses comme un GridView sont un bon cas pour un UpdatePanel (comme vous avez habituellement besoin de gérer l'édition, la liaison et la pagination tout de manière asynchrone).
L'image de progression est facilitée avec le code suivant:
<ProgressTemplate>
<img src="someloadingimage.gif" alt="Loading" />
</ProgressTemplate>
bâton dans votre UpdatePanel, et chaque fois qu'un appel AJAX est fait, l'image de chargement seront affichées.
HTH
Merci RPM1984. Votre réponse a été très détaillée et m'a beaucoup aidé. Je vais pour la 2ème approche (mise à jour de l'ensemble du formulaire avec beaucoup de gridviews/liste déroulante etc). Je suppose qu'un petit mélange de JQuery et de updatepanel résoudra mon problème. –
Pas de problème, heureux de vous aider! – RPM1984
Savez-vous comment afficher l'image de progression juste à côté du bouton qui a causé la publication? J'ai beaucoup de boutons dans mon panneau de mise à jour, chaque bouton déclenche un événement séparé et je veux montrer l'image juste à côté du bouton qui a déclenché l'événement. –