Co to jest ogłoszenie zwrotne?


142

Wkraczam w tworzenie stron internetowych i widziałem słowo „ ogłaszanie zwrotne”. Pochodząc z tła niezwiązanego z Internetem, co nowy programista internetowy musi wiedzieć o ogłoszeniach zwrotnych? (tj. czym one są i kiedy powstają?)

Wszelkie dodatkowe informacje, którymi chciałbyś się podzielić, aby pomóc nowicjuszowi w świecie internetu zdawać sobie sprawę z ogłaszania zwrotnego, będą bardzo mile widziane.

Odpowiedzi:


178

Poniższe jest skierowane do początkujących w ASP.Net ...

Kiedy to się dzieje?

Ogłoszenie zwrotne pochodzi z przeglądarki klienta. Zwykle jedna z kontrolek na stronie jest manipulowana przez użytkownika (kliknięcie przycisku lub zmiana listy rozwijanej itp.), A ta kontrolka zainicjuje ogłaszanie zwrotne. Stan tej kontrolki oraz wszystkich innych kontrolek na stronie (znany jako stan widoku) jest wysyłany z powrotem na serwer sieci Web.

Co się dzieje?

Najczęściej ogłaszanie zwrotne powoduje, że serwer WWW tworzy instancję kodu za klasą strony, która zainicjowała ogłaszanie zwrotne. Ten obiekt strony jest następnie wykonywany w ramach normalnego cyklu życia strony z niewielką różnicą (patrz poniżej). Jeśli użytkownik nie przekieruje użytkownika bezpośrednio na inną stronę w trakcie cyklu życia strony, ostatecznym wynikiem ogłaszania zwrotnego będzie ta sama strona, która zostanie ponownie wyświetlona użytkownikowi, po czym może nastąpić kolejne ogłaszanie zwrotne i tak dalej.

Dlaczego tak się dzieje?

Aplikacja internetowa jest uruchomiona na serwerze WWW. Aby przetworzyć odpowiedź użytkownika, spowodować zmianę stanu aplikacji lub przejść na inną stronę, musisz pobrać kod do wykonania na serwerze WWW. Jedynym sposobem na osiągnięcie tego jest zebranie wszystkich informacji, nad którymi użytkownik aktualnie pracuje, i wysłanie ich z powrotem na serwer.

Początkujący powinien zwrócić uwagę na kilka rzeczy ...

  • Stan formantów na tylnej stronie publikowania jest dostępny w kontekście. Umożliwi to manipulowanie kontrolkami strony lub przekierowanie do innej strony w oparciu o zawarte tam informacje.
  • Kontrolki w formularzu sieci Web mają zdarzenia, a zatem programy obsługi zdarzeń, tak jak wszystkie inne kontrolki. Część inicjująca cyklu życia strony zostanie wykonana przed obsługą zdarzenia formantu, który spowodował zwrot wiadomości. W związku z tym kod w programie obsługi zdarzeń Init i Load strony zostanie wykonany przed kodem w module obsługi zdarzeń dla przycisku, który kliknął użytkownik.
  • Wartość właściwości „Page.IsPostBack” zostanie ustawiona na „true”, gdy strona jest wykonywana po ogłoszeniu zwrotnym, lub „false” w przeciwnym razie.
  • Technologie takie jak Ajax i MVC zmieniły sposób działania ogłoszeń zwrotnych.

2
Mała poprawka - „Stan tej kontrolki oraz wszystkich innych kontrolek na stronie (znany jako stan widoku) został wycofany”. Te dane są w rzeczywistości danymi Postback. Dane stanu widoku również są wysyłane z powrotem, ale jest to stan formantów, gdy ostatnio znajdowały się na serwerze.
Simon Keep

Uwaga ogłaszanie zwrotne jest używane na wszystkich platformach .NET, nie tylko na platformie ASP.NET
JNF,

1
„Aby przetworzyć odpowiedź użytkownika, spowodować zmianę stanu aplikacji lub przenieść się na inną stronę, musisz pobrać kod do wykonania na serwerze sieci Web”. To jest trochę mylące. Nie zawsze potrzebujesz „kodu do wykonania na serwerze WWW”, aby wykonać te czynności. Jeśli to możliwe, lepiej przetwarzać dane wejściowe użytkownika na kliencie. Jedną z najważniejszych rzeczy, które należy wiedzieć o post-backach jest to, jak / kiedy ich nie robić; tj. kiedy zająć się rzeczami po stronie klienta, czy za pośrednictwem Ajaxu itp.
Hawkeye Parker,

1
Zgadzam się @HawkeyeParker. Napisałem to, kiedy wszystko, co wiedziałem, to architektura formularzy sieci Web. Od tamtej pory z pewnością zaszła długa droga! Wszystkie moje wyjaśnienia zdecydowanie nie biorą pod uwagę Ajaxa.
Andy McCluggage

27

Z Wikipedii :

Postback to działanie podejmowane przez interaktywną stronę internetową, kiedy cała strona i jej zawartość są wysyłane na serwer w celu przetworzenia pewnych informacji, a następnie serwer ponownie umieszcza tę samą stronę w przeglądarce.


@Galwegian: Nie sądzisz, że stanie się to tylko wtedy, gdy wystąpią błędy walidacji, aby przedstawić tę samą stronę co wynik.
Shirgill Farhan

21

Postback ma miejsce, gdy strona internetowa wysyła swoje dane z powrotem do tego samego skryptu / dll / cokolwiek, co wygenerowało stronę w pierwszej kolejności.

Przykład w C # (asp.net)

...

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

20

Rozwijając podane definicje, najważniejszą rzeczą, którą musisz wiedzieć jako twórca stron internetowych, jest to, że między ogłoszeniami zwrotnymi NIE JEST ZACHOWANY ŻADNY STAN. Istnieją sposoby zachowania stanu, takie jak kolekcje Session lub Viewstate w programie ASP.NET, ale z reguły pisz programy, w których można odtworzyć stan przy każdym ogłoszeniu zwrotnym.

Jest to prawdopodobnie największa różnica między programowaniem aplikacji komputerowych i internetowych i zajęło mi miesiące, zanim nauczyłem się do momentu, w którym instynktownie pisałem w ten sposób.


2
dobrze wyłożone. nic nie jest zapisywane poza sesją i stanem wyświetlania
Miles

1
Świetna uwaga! Tak, to zdecydowanie wydaje się być czymś, co wymaga trochę uwagi, gdy pochodzi z domeny programowania klienta.
Scott Saad

10

Tworzenie stron internetowych generalnie obejmuje strony HTML, które zawierają formularze ( <form>tagi). Formularze są wysyłane pod adresy URL. Możesz ustawić dany formularz do wysyłania postów pod dowolny adres URL. postback jest wtedy, gdy forma posty z powrotem do jej własnej stronie / URL.

Termin ma szczególne znaczenie dla programistów ASP.Net , ponieważ jest to główny mechanizm, który wpływa na zachowanie strony - w szczególności na „obsługę zdarzeń”. Strony ASP.Net mają dokładnie jedną postać serwera, która prawie zawsze zwraca się do siebie, a te posty zwrotne powodują wykonanie na serwerze czegoś, co nazywa się cyklem życia strony.


6

Termin ten jest również używany podczas tworzenia aplikacji internetowych podczas interakcji z interfejsami API usług internetowych innych firm

Wiele interfejsów API wymaga zarówno integracji interaktywnej, jak i nieinteraktywnej. Zazwyczaj część interaktywna jest wykonywana za pomocą przekierowań (witryna 1 przekierowuje użytkownika do witryny 2, gdzie się loguje, i jest przekierowywany z powrotem). Część nieinteraktywna jest wykonywana przy użyciu „ogłaszania zwrotnego”, czyli HTTP POST z serwerów lokacji 2 do serwerów lokacji 1.


5

Gdy skrypt generuje formularz HTML, a akcja tego formularza, http POST powraca do tego samego formularza.


4

Postback ma zasadniczo miejsce, gdy formularz jest przesyłany na tę samą stronę lub skrypt (.php .asp itp.), Na którym obecnie się znajdujesz, aby przetwarzać dane, a nie wysyłać cię do nowej strony.

Przykładem może być strona na forum (viewpage.php), na której przesyłasz komentarz i jest on przesyłany na tę samą stronę (viewpage.php), a następnie możesz go zobaczyć z dodaną nową zawartością.

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


3

Post z powrotem to wszystko, co powoduje, że strona z przeglądarki internetowej klienta jest przekazywana z powrotem na serwer.

Jest dużo informacji, wyszukaj w Google ogłoszenia zwrotne.

W większości przypadków każda kontrolka ASP spowoduje zwrot wiadomości (przycisk / kliknięcie linku), ale niektóre nie, chyba że im powiesz (pole wyboru / pole wyboru)


3

Postback odnosi się do formularzy HTML. Formularz HTML ma 2 metody: GET i POST. Te metody określają, w jaki sposób dane są wysyłane od klienta za pośrednictwem formularza do serwera. Postback to czynność polegająca na wysłaniu z powrotem do strony przesyłania. W istocie tworzy kompletny obwód od klienta do serwera iz powrotem.


2

Jednak odpowiedź na to pytanie jest dokładna powyżej, ale chcę tylko podzielić się moją wiedzą. Postback to w zasadzie właściwość, której możemy użyć podczas wykonywania niektórych zadań, które wymagają od nas zarządzania stanem strony, czyli albo uruchomiliśmy jakieś zdarzenie, np. Kliknięcie przycisku, albo jeśli odświeżyliśmy naszą stronę. Kiedy nasza strona ładuje się po raz pierwszy, to znaczy jeśli odświeżyliśmy naszą stronę, w tym czasie właściwość postback ma wartość false, a potem staje się prawdziwa.

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

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.