Was ist ein Postback?


142

Ich mache mich auf den Weg in die Webentwicklung und habe das Wort Postback gesehen . Was muss ein neuer Webentwickler aus einem nicht webbasierten Hintergrund über Postbacks wissen? (dh was sind sie und wann entstehen sie?)

Weitere Informationen, die Sie weitergeben möchten, um einem Neuling in der Webwelt zu helfen, sich über Postbacks im Klaren zu sein, sind sehr willkommen.

Antworten:


178

Das Folgende richtet sich an Anfänger von ASP.Net ...

Wann passiert es?

Ein Postback stammt vom Client-Browser. Normalerweise wird eines der Steuerelemente auf der Seite vom Benutzer manipuliert (eine Schaltfläche angeklickt oder das Dropdown-Menü geändert usw.), und dieses Steuerelement löst ein Postback aus. Der Zustand dieser Kontrolle sowie alle andere Steuerelemente auf der Seite, (bekannt als View State) ist Veröffentlichten Zurück zum Webserver.

Was geschieht?

Am häufigsten bewirkt das Postback, dass der Webserver eine Instanz des Codes hinter der Klasse der Seite erstellt, die das Postback initiiert hat. Dieses Seitenobjekt wird dann innerhalb des normalen Seitenlebenszyklus mit einem geringfügigen Unterschied ausgeführt (siehe unten). Wenn Sie den Benutzer während des Seitenlebenszyklus nicht speziell auf eine andere Seite umleiten, wird das Endergebnis des Postbacks dieselbe Seite sein, die dem Benutzer erneut angezeigt wird. Dann kann ein weiteres Postback auftreten und so weiter.

Warum passiert das?

Die Webanwendung wird auf dem Webserver ausgeführt. Um die Antwort des Benutzers zu verarbeiten, den Anwendungsstatus zu ändern oder auf eine andere Seite zu wechseln, benötigen Sie Code, der auf dem Webserver ausgeführt werden kann. Die einzige Möglichkeit, dies zu erreichen, besteht darin, alle Informationen, an denen der Benutzer gerade arbeitet, zu sammeln und an den Server zurückzusenden.

Einige Dinge, die ein Anfänger beachten sollte, sind ...

  • Der Status der Steuerelemente auf der Buchungsrückseite ist im Kontext verfügbar. Auf diese Weise können Sie die Seitensteuerelemente bearbeiten oder basierend auf den dort enthaltenen Informationen auf eine andere Seite umleiten.
  • Steuerelemente in einem Webformular verfügen wie alle anderen Steuerelemente über Ereignisse und damit über Ereignishandler. Der Initialisierungsteil des Seitenlebenszyklus wird vor dem Ereignishandler des Steuerelements ausgeführt, der den Beitrag zurück verursacht hat. Daher wird der Code im Init- und Load-Ereignishandler der Seite vor dem Code im Ereignishandler für die Schaltfläche ausgeführt, auf die der Benutzer geklickt hat.
  • Der Wert der Eigenschaft "Page.IsPostBack" wird auf "true" gesetzt, wenn die Seite nach einem Postback ausgeführt wird, andernfalls auf "false".
  • Technologien wie Ajax und MVC haben die Funktionsweise von Postbacks verändert.

2
Kleine Korrektur - "Der Status dieses Steuerelements sowie aller anderen Steuerelemente auf der Seite (als Ansichtsstatus bezeichnet) wird zurückgesendet." Diese Daten sind eigentlich die Postback-Daten. Viewstate-Daten werden ebenfalls zurückgesendet, dies ist jedoch der Status der Steuerelemente, als sie das letzte Mal auf dem Server waren.
Simon Keep

Hinweis Postback wird auf allen .NET-Plattformen verwendet, nicht nur auf ASP.NET
JNF

1
"Um die Antwort des Benutzers zu verarbeiten, den Anwendungsstatus zu ändern oder auf eine andere Seite zu wechseln, benötigen Sie Code, der auf dem Webserver ausgeführt werden kann." Das ist etwas irreführend. Man muss nicht immer braucht ‚Code auf dem Webserver auszuführen‘ , diese Dinge zu tun. Wenn möglich, kann es besser sein, Benutzereingaben auf dem Client zu verarbeiten. Eines der wichtigsten Dinge, die Sie über Post-Backs wissen sollten, ist, wie / wann Sie sie nicht tun sollten. dh, wann man sich auf der Kundenseite oder über Ajax usw. um die Dinge kümmert
Hawkeye Parker

1
Stimmen Sie @HawkeyeParker zu. Ich schrieb dies zurück, als ich nur die Web Forms-Architektur kannte. Die Dinge haben seitdem sicherlich einen langen Weg zurückgelegt! Alle meine Erklärungen berücksichtigen Ajax definitiv nicht und berücksichtigen sie überhaupt nicht.
Andy McCluggage

27

Aus Wikipedia :

Ein Postback ist eine Aktion, die von einer interaktiven Webseite ausgeführt wird, wenn die gesamte Seite und ihr Inhalt zur Verarbeitung einiger Informationen an den Server gesendet werden und der Server dieselbe Seite dann an den Browser zurücksendet.


@Galwegian: Glaubst du nicht, dass es nur dann passieren wird, wenn einige Validierungsfehler auftreten, um dieselbe Seite wie das Ergebnis zu präsentieren?
Shirgill Farhan

21

Postback tritt auf, wenn eine Webseite ihre Daten an dasselbe Skript / dieselbe DLL / was auch immer zurücksendet, das die Seite überhaupt generiert hat.

Beispiel in C # (asp.net)

...

if (!IsPostback)
   // generate form
else
   process submitted data;

20

Das Wichtigste, was Sie als Webentwickler wissen müssen, ist, dass zwischen den Postbacks KEIN STAAT GESPEICHERT wird. Es gibt Möglichkeiten, den Status beizubehalten, z. B. die Session- oder Viewstate-Auflistungen in ASP.NET. Als Faustregel schreiben Sie jedoch Ihre Programme, in denen Sie Ihren Status bei jedem Postback neu erstellen können.

Dies ist wahrscheinlich der größte Unterschied zwischen Desktop- und webbasierter Anwendungsprogrammierung. Ich habe Monate gebraucht, um zu lernen, bis zu dem Punkt, an dem ich instinktiv auf diese Weise schrieb.


2
gut ausgedrückt. nichts wird gespeichert, außer in der Sitzung und im Ansichtsstatus
Meilen

1
Toller Punkt! Ja, dies scheint definitiv etwas zu sein, das ein wenig Zeit in Anspruch nimmt, wenn man aus der Client-Programmierdomäne kommt.
Scott Saad

10

Die Webentwicklung umfasst im Allgemeinen HTML-Seiten, die Formulare ( <form>Tags) enthalten. Formulare posten an URLs. Sie können ein bestimmtes Formular so einstellen, dass es an eine beliebige URL gesendet wird. Ein Postback ist, wenn ein Formular auf seine eigene Seite / URL zurücksendet .

Der Begriff hat für ASP.Net- Entwickler eine besondere Bedeutung , da er der Hauptmechanismus ist, der einen Großteil des Verhaltens einer Seite bestimmt - insbesondere die Ereignisbehandlung. ASP.Net-Seiten haben genau eine Serverform, die fast immer an sich selbst zurückgesendet wird, und diese Post-Backs lösen die Ausführung eines so genannten Page Lifecycle auf dem Server aus.


6

Der Begriff wird auch in der Entwicklung von Webanwendungen verwendet, wenn mit Webdienst-APIs von Drittanbietern interagiert wird

Viele APIs erfordern sowohl eine interaktive als auch eine nicht interaktive Integration. In der Regel erfolgt der interaktive Teil mithilfe von Weiterleitungen (Site 1 leitet einen Benutzer zu Site 2 weiter, wo er sich anmeldet und zurückgeleitet wird). Der nicht interaktive Teil wird mithilfe eines "Postbacks" oder eines HTTP-POST von den Servern von Standort 2 zu den Servern von Standort 1 ausgeführt.


5

Wenn ein Skript ein HTML-Formular generiert und die Aktion dieses Formulars http POSTs zurück zum gleichen Formular.


4

Postback ist im Wesentlichen, wenn ein Formular an dieselbe Seite oder dasselbe Skript (.php .asp usw.) gesendet wird, auf dem Sie sich gerade befinden, um die Daten zu verarbeiten, anstatt Sie auf eine neue Seite zu senden.

Ein Beispiel könnte eine Seite in einem Forum (viewpage.php) sein, auf der Sie einen Kommentar einreichen und der an dieselbe Seite (viewpage.php) gesendet wird und den Sie dann mit dem neu hinzugefügten Inhalt sehen würden.

Siehe: http://en.wikipedia.org/wiki/Postback


3

Ein Post-Back ist alles, was dazu führt, dass die Seite aus dem Webbrowser des Clients auf den Server zurückgeschoben wird.

Es gibt viele Informationen da draußen, suchen Sie bei Google nach Postbacks.

Meistens verursacht jedes ASP-Steuerelement einen Post-Back (Schaltfläche / Link-Klick), einige jedoch nicht, es sei denn, Sie weisen sie an (Kontrollkästchen / Combobox).


3

Postback bezieht sich auf HTML-Formulare. Ein HTML-Formular verfügt über zwei Methoden: GET und POST. Diese Methoden bestimmen, wie Daten vom Client über das Formular an den Server gesendet werden. Ein Postback ist die Aktion des Zurückpostens auf die übermittelnde Seite. Im Wesentlichen bildet es eine vollständige Verbindung vom Client zum Server und wieder zurück.


2

Die Frage wurde oben jedoch genau beantwortet, aber ich möchte nur mein Wissen teilen. Postback ist im Grunde eine Eigenschaft, die wir verwenden können, wenn wir einige Aufgaben ausführen, bei denen wir den Status der Seite verwalten müssen. Entweder haben wir ein Ereignis ausgelöst, z. B. einen Klick auf eine Schaltfläche, oder wir haben unsere Seite aktualisiert. Wenn unsere Seite zum ersten Mal geladen wird, dh wenn wir unsere Seite aktualisiert haben, ist die Postback-Eigenschaft zu diesem Zeitpunkt falsch und danach wird sie wahr.

if(!ispostback)
{
 // do some task here
}
else
{
 //do another task here
}

http://happycodng.blogspot.in/2013/09/concept-of-postback-in.html

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.