Что такое обратная передача?

Лучшее объяснение, которое я нашел для postBack, – это Wiki.

postback – это HTTP POST на той же странице, на которой находится форма.

Хотя статья действительно объясняет, как вторая страница была необходима в ASP, но больше не нужна в ASP.NET, она не дает много деталей или фона. Я ищу чужую информацию о PostBacks. Подобно простому вопросу о том, «как я могу убрать дом», можно обратиться к этой книге на 900 страниц . Мне не нужно 900 страниц, но, пожалуйста, пожалуйста. Я нашел хороший небольшой учебник для жизненного цикла ASP.NET, но он серьезно замалчивает обратные передачи (среди прочего).

Я смотрю на разработчиков, которые были вокруг до .NET и действительно не принимают такие вещи как должное. Книги и гиперссылки являются разумными ответами или дополнениями к вашему ответу.

До сих пор я видел, как правильный ответ повторялся неоднократно, и почти все приходят застенчиво из того, что я считаю субъективно признаком.

Начнем с основ:

HTTP-запрос может быть любым из HTTP-глаголов , но два, которые используют большинство, – GET и POST. Ну, это те, которые программист использует чаще всего. Все остальные имеют определенную цель, если они реализованы на сервере. Когда вы отправляете информацию на сервер, вы можете сделать это либо с помощью URL (для запроса страницы), либо внутри тела запроса (например, POST, PUT, DELETE).

Теперь вы заметите (я уверен), что URL-адрес в запросе GET часто содержит данные, и это верно, но, согласно W3C, вы не должны использовать GET для изменения состояния, и все же мы часто делаем это. Это своего рода хак, который мы все согласны, это реальное использование, а не взлома. Независимо от того, делает ли это взлом или фактическая информация о реализации, я оставляю вас.

Поэтому, когда вы отправляете тело POST (пропуская остальные на данный момент, вы можете понять это здесь) с элементами формы, вы отправляете некоторые элементы. Как эти элементы определены, зависит от вас и от среды, в которой вы работаете. Вы можете отправить на сервер с элементом JSON в теле или с XML или с полями формы. Обычно мы размещаем сообщения из элемента FORM в теле HTML.

Теперь все говорят: «О, обратная передача – это последующий запрос на страницу». Но это неправда. Обратная передача – это когда вы отправляете данные через POST -> обратно на сервер. Я говорю это, потому что разница между запросом GET и запросом POST заключается в том, что данные включены в тело (и используемый глагол, но клиент обычно знает, как с этим справиться). Вы можете вернуться к странице при первом посещении страницы, и на самом деле ASP.NET имеет инструменты для этого в библиотеке. У вас наверняка есть данные POST для настольных клиентов на сервере (подумайте в Twitter), не показывая какую-либо веб-страницу вообще с сервера (хорошо, поэтому твиттер, вероятно, не самая лучшая концепция для примера здесь, но я хочу проиллюстрировать, что вы может использовать клиент, который не показывает веб-страницу, поэтому запрос не требуется).

Так что действительно, что вы должны прочитать там в «postback», это «Я отправляю данные BACK на сервер для обработки». Предполагается, что вы сначала загрузили страницу с помощью GET, чтобы показать пользователю элемент

, у которого есть поля с которыми они могут взаимодействовать, и что в конце вы отправляете данные обратно. Но я надеюсь, вы увидите, что это не обязательно должно быть в таком порядке.

Так вот что еще нужно рассмотреть:

Что делать, если вы предоставили пользователю страницу с пучком s и no

но вместо этого у вас была кнопка, подключенная в javascript, чтобы выполнить все эти s с &value-n= и отправить их как GET ? То же самое, но нарушает эту концепцию только при использовании GET для запросов. (возможно) последующая дискуссия побуждает меня усилить то, что GET не должно иметь побочных эффектов (без обновления значений)

Например, вы можете отправить кому-то ссылку на поиск Google, например. Поэтому мы НЕ ВСЕГДА ДОЛЖНЫ ОТПРАВИТЬ НАЗАД на сервер, чтобы получить данные.

Надеюсь это поможет. ура

POSTBACK: часть изобретенной методики ASP.NET для скрытия истинного безгражданности веб-сайта / HTTP за фазой состояния. Это приводит к сложному коду (IsPostback, …), сложному для понимания жизненному циклу страницы, множеству различных событий и … многочисленным проблемам (размер ViewState, клейкость веб-фермы, государственные серверы, предупреждения браузера (не используя шаблон PRG) , …)

См. ASP.NET MVC .

См. Обзор жизненного цикла страницы ASP.NET в MSDN для хорошего общего введения о том, что происходит, когда запросы попадают на сервер.

PostBack – это любой запрос на страницу, которая не является первым запросом. PostBack всегда будет реагировать на действие пользователя (чаще всего запускается кнопкой, элементом управления AutoPostBack или Ajax).

Сообщение назад находится в оба конца от клиента (браузера) до сервера, а затем обратно к клиенту.

Это позволяет вам перейти через механизм asp на сервере и любой динамический контент для обновления.

вот хорошее объяснение

ASP.Net использует новую концепцию (ну, новый по сравнению с asp … теперь устарел) ViewState для поддержания состояния ваших элементов управления asp.net. Что это значит? В двух словах, если вы введете что-то в текстовое поле или выберите раскрывающийся список из выпадающего списка, он будет помнить значения при нажатии на кнопку. Старый asp заставит вас написать код, чтобы запомнить эти значения.

Это полезно, если пользователь обнаруживает ошибку. Вместо того, чтобы программист должен иметь дело с тем, чтобы помнить о повторном заполнении каждого веб-элемента управления, окно просмотра asp.net делает это для вас автоматически. Это также полезно, потому что теперь код позади может получить доступ к значениям этих элементов управления в вашей веб-форме asp.net с помощью intellisense.

Что касается публикации на той же странице, да, кнопка «отправить» отправит обработчик события на код, расположенный за страницей. Это зависит от обработчика события в коде для перенаправления на другую страницу, если это необходимо (или подавать сообщение об ошибке на вашу страницу или что-то еще, что вам может понадобиться).

Определение обратной передачи в Википедии довольно хорошо, но я бы добавил следующее: обратная передача – это последующий HTTP POST на той же странице, на которой находится форма.

Если у меня есть страница с формой на ней, и вместо того, чтобы моя кнопка отправки переадресовала браузер на другую страницу, которая будет обрабатывать форму, вместо этого нажмите кнопку «Отправить», обновите текущую страницу (и выполните некоторые конкретные шаги для проверки / сохранения , предположительно), то, что, как говорится, кнопка «Отправить» вернулась на текущую страницу.

Postbacks может быть полным (обновить всю страницу) или частичным (в случае использования AJAX). Частичная обратная передача страницы будет повторно отображать только часть страницы (например, один раскрывающийся список, таблица и т. Д.).

В старом HTML единственный способ сделать что-то обновленное на веб-странице – отправить новую веб-страницу в клиентский браузер. Это то, что ASP раньше делал, вам нужно сделать это, чтобы вызвать «PostBack», чтобы отправить обновленную страницу клиенту.

В ASP.NET вам не нужно повторно отправлять всю веб-страницу. Теперь вы можете использовать AJAX или другие элементы управления ASP.NET, чтобы не пересылать всю веб-страницу.

Если вы посетите какой-то старый веб-сайт, вы заметите, что, щелкнув что-то, вся страница должна быть обновлена, это старый ASP. На большинстве современных веб-сайтов вы заметите, что вашему браузеру не нужно обновлять всю страницу, она обновляет только часть содержимого, которое необходимо обновить. Например, в Stackoverflow вы видите обновление страницы только содержимого, а не всей веб-страницы.

Проще говоря, это небольшой код. Надеюсь, это полезно для вас. Когда вы сначала запрашиваете URL-адрес страницы. вы можете просмотреть исходный код в большинстве браузеров. Ниже приведен пример.

Существенное значение Post Back на самом деле вызывает __doPostBack который __doPostBack все данные формы, полученные с вашего первого запроса обратно на сервер. ( __EVENTTARGET содержит идентификатор элемента управления.)

   NHibernate Demo     

NHibernate Demo

LinkButton

IsPostBack – это свойство страницы Asp.Net которая сообщает, находится ли страница on its initial load и если пользователь выполнил кнопку на вашей веб-странице, которая заставила страницу отправить сообщение самому себе.

больше на … Asp.Net ispostback ()

Postback – это запрос, в течение которого ASP восстанавливает значения свойств элементов управления из состояния представления.

  • Asp.Net Forms Authentication при использовании iPhone UIWebView
  • Server.MapPath ("."), Server.MapPath ("~"), Server.MapPath (@ "\"), Server.MapPath ("/"). В чем разница?
  • Как вызвать файл VBScript в приложении C #?
  • Избегайте наследования web.config в дочернем веб-приложении с использованием inheritInChildApplications
  • Получение привязки Ссылка в URL для ASP.Net
  • Самый простой способ разобрать ответ JSON
  • Настройка перенаправления в файле web.config
  • Как публиковать Web с помощью msbuild?
  • Запись объекта MemoryStream в ответ
  • Как получить URL-адрес текущей страницы в C #
  • .NET Framework 3.5 и TLS 1.2
  • Interesting Posts

    Как Windows знает, имеет ли он доступ к Интернету, или если для подключения Wi-Fi требуется аутентификация в браузере?

    Как передать значение из дочернего элемента обратно в родительскую форму?

    Что такое быстрый способ прокомментировать / раскомментировать строки в Vim?

    История BASH усечена до 500 строк при каждом входе в систему

    Что случилось с использованием ассоциативности компиляторами?

    AngularJS $ watch vs $ watchCollection: что лучше для производительности?

    Что означает квадратная скобка в приведенном ниже коде?

    Является ли цитирование значения url () действительно необходимым?

    Инструменты для упрощения текста (Java)

    Анализатор дискового пространства, который может считывать выходные данные

    XPath – получить узел без дочернего элемента определенного типа

    Общие приложения для шаров X?

    Проводник Windows зависает при открытии определенной папки

    У bash есть крючок, который запускается перед выполнением команды?

    Интранет-сообщения

    Давайте будем гением компьютера.