2009-02-26 7 views
6

Qu'est-ce qui est mis à jour lorsqu'une mise à jour est déclenchée? Qu'est-ce qui va au serveur? Qu'est-ce qui revient? J'avais l'impression que seul le contenu du panneau était transmis au serveur et revenait (sans toucher à rien dans la page en dehors du panneau), mais je rencontre des résultats étranges, probablement parce que je ne suis pas vraiment comprendre comment cela fonctionne exactement. Est-ce que quelqu'un peut fournir une explication facile quant à comment cela fonctionne exactement?Comment fonctionne un UpdatePanel?

+0

Exemple de ce que je ne peux pas obtenir de travailler: http://stackoverflow.com/questions/591556 – juan

Répondre

2

Ce qui est généré est un formulaire envoyé via AJAX, ce qui signifie essentiellement XML HTTP dans le navigateur. Quand il atteint le serveur, le serveur le voit comme un appel AJAX et il achemine la demande à la bonne méthode. En ce qui concerne précisément ce qui est envoyé, c'est quelque chose que le formulaire submit doit envoyer, ce qui peut très bien être des informations en dehors du UpdatePanel. le serveur détermine ensuite avec quoi travailler et renvoie une réponse.

Tout cela est bien comme théorie, mais vous avez affaire à des problèmes et non à la théorie. Quelle étrangeté éprouvez-vous? Si vous pouvez poster, nous pouvons nous concentrer sur les détails du problème.

+0

Merci pour la réponse, je rencontre ce problème: http://stackoverflow.com/questions/591556 – juan

+0

Ajout d'informations dans l'autre thread. –

+0

Le 'x-microsoftajax: Delta = true' est envoyé au serveur qui indique qu'il ne doit envoyer de balisage que pour les parties modifiables de la page. Ensuite, les événements côté client (de PageRequestManager) mettent à jour les parties pertinentes de la page - [de cet article] (http://www.codedigest.com/Articles/ASPNET/381_All_About_UpdatePanel_in_AspNet.aspx). – BornToCode

2

Le message qui va au serveur contient à peu près toutes les informations de la publication, y compris le viewstate. La différence est sur ce qui est réellement retourné au navigateur. Pour traiter la requête, la page entière est instanciée, si quelque chose est mis à jour en dehors du panneau de mise à jour, vous pouvez obtenir des erreurs laides.

Mise à jour 1: ce qui est différent d'autres approches ajax, qui envoient seulement le peu d'informations nécessaires et ne pas utiliser viewstate-à-dire AutoCompleteExtender de la boîte à outils de contrôle ajax - chercher JSON, les demandes ajax, et d'autres informations connexes .

Cela pourrait fonctionner pour vous, mais vous avez raison de chercher à comprendre ce qui se passe, comme vous le souhaitez lorsque cela est approprié pour d'autres solutions.

Questions connexes