Même si vous rappelez au serveur, la page entière n'est pas traitée et renvoyé au client. Ainsi, les modifications apportées aux contrôles côté serveur ne seront pas reflétées côté client.
Contrôles comme the GridView uses callbacks pour effectuer un traitement sur le serveur sans effectuer de publication complète. Pensez-y comme une forme d'AJAX. Le GridView, à la réception de la réponse de chaîne que vous mentionnez, est responsable de l'interprétation de la chaîne et de la mise à jour de son propre côté client en utilisant javascript.
Précision: comme décrit here:
la page ... exécute une version abrégée de son cycle de vie normale au processus le rappel
donc pas, ASP.Net ne fera pas un cycle de vie de page complet, et non, aucun html ne sera retourné au client. A moins que vous ne retourniez vous-même du code html dans la méthode GetCallbackResult
.
Idée: au lieu de faire callbackeventhandlers, jetez un oeil à JQuery with ASP.Net AJAX et more on the state of things here. Cela permettrait à votre scénario avec une grande partie de la plomberie déjà en place faite par Microsoft.
Ma compréhension était qu'un rappel passe par le cycle de vie de la page (un point d'arrêt est atteint dans Page_Load). Cela signifie-t-il qu'il ignore la méthode Render de la page? – Nick
C'est correct. Voir ma clarification. Je vois à partir de votre autre commentaire que vous voulez lier un répéteur: ce que vous pouvez faire est de retourner les données du gestionnaire de rappel, puis d'utiliser par exemple. JQuery pour créer une liste HTML côté client. –
Merci. Savez-vous quelles méthodes sont ignorées lors d'un rappel? – Nick