2009-02-26 4 views
6

Was wird aktualisiert, wenn ein Update ausgelöst wird? Was geht zum Server? Was kommt zurück?Wie funktioniert ein UpdatePanel?

Ich hatte den Eindruck, dass nur der Inhalt des Panels an den Server und zurück übertragen wurde (ohne etwas auf der Seite außerhalb des Panels zu berühren), aber ich habe seltsame Ergebnisse, wahrscheinlich, weil ich nicht wirklich verstehe, wie es genau funktioniert.

Kann jemand eine einfache Erklärung liefern, wie genau es funktioniert?

+0

Beispiel für was ich nicht zur Arbeit kommen kann: http://StackOverflow.com/Questions/591556 – juan

Antwort

2

Was generiert wird, ist eine Formularübermittlung durch AJAX, die im Browser im Wesentlichen XML HTTP bedeutet. Wenn es den Server trifft, sieht der Server es als AJAX-Aufruf und es leitet die Anforderung an die richtige Methode weiter.

Was genau gesendet wird, ist alles, was das Formular senden soll, was sehr wohl Informationen außerhalb des UpdatePanels sein können. Der Server ermittelt dann, woran er arbeiten soll, und sendet eine Antwort zurück.

Das ist alles gut und gut wie Theorie, aber Sie haben es mit Problemen nicht Theorie. Welche Fremdheit erlebst du? Wenn Sie etwas veröffentlichen können, können wir uns auf die Einzelheiten des Problems konzentrieren.

+0

Danke für die Antwort, ich habe dieses Problem: http://StackOverflow.com/Questions/591556 – juan

+0

Informationen im anderen Thread hinzugefügt. –

+0

Das 'x-microsoftajax: Delta = true' wird an den Server gesendet, der angibt, dass es eine Markierung nur für die aktualisierbaren Teile der Seite senden soll. Dann aktualisieren clientseitige Ereignisse (von PageRequestManager) die relevanten Teile der Seite - [aus diesem Artikel] (http://www.codedigest.com/Articles/ASPNET/381_All_About_UpdatePanel_in_AspNet.aspx). – BornToCode

2

Der Beitrag, der an den Server geht, enthält so ziemlich alle Informationen des Posts, einschließlich des Viewstatus. Der Unterschied besteht darin, was tatsächlich an den Browser zurückgegeben wird. Um die Anfrage zu bearbeiten, wird die ganze Seite instanziiert. Wenn etwas außerhalb des Update-Fensters aktualisiert wird, können einige hässliche Fehler auftreten.

Update 1: dies unterscheidet sich von anderen Ajax-Ansätze, dass nur das Bit von Informationen senden benötigt und verwendet keine Ansichtszustand dh AutoCompleteExtender des AJAX Control Toolkit - sucht json, AJAX-Anfragen, und andere damit zusammenhängende Informationen .

Es könnte für Sie arbeiten, aber Sie sind richtig zu verstehen, was passiert, auf die Weise, die Sie benötigen, wenn es nur für andere Lösungen geeignet ist.