UpdatePanels вышел довольно рано в цикле AJAX, и они тяжелые (они могут излучать вокруг 100-300k в JavaScript). За кулисами UpdatePanels отправляет всю страницу обратно на сервер с помощью XMLHttpRequest. Новая страница создается с обычным жизненным циклом страницы, как и для обратной передачи, но только те части, которые живут внутри UpdatePanel (плюс части, необходимые для обновления ViewState и т. Д.), Отправляются обратно клиенту. Оттуда разметка вставляется без видимой вспышки или прерывания состояния страницы.
Большинство конкурирующих инструментов AJAX ориентированы на супер легкие реализации, которые позволяют отправлять или генерировать небольшой кусок HTML через Javascript, и я бы сказал, что это доминирующее направление сегодня, особенно вне мира ASP.NET.
Разница в общем объеме данных, передаваемых по проводам, огромна - см. Ссылку ниже. В ситуациях с низким уровнем трафика это может не иметь особого значения, но в случае такого сайта, как StackOverflow, он наверняка будет отображаться на счете полосы пропускания.
Все, что сказал, я не думаю, что это справедливо сказать, что UpdatePanels на самом деле не AJAX, так как они сделать корабль HTML вокруг через асинхронная JavaScript - это просто, что есть гигантская, часто громоздки рамки сверху. UpdatePanels иногда получают плохой рэп, но они обеспечивают блестяще простой опыт разработчика. Я часто нашел их полезными в ситуациях с низким уровнем трафика.
Обновление:Here - это статья (старая, но по-прежнему действительная), которая рассматривает почтовые отправления UpdatePanels на сервер и обратно. Он также переходит в «Методы страницы», который представляет собой облегченную альтернативу UpdatePanels, основанной на веб-сервисах. Это часто забываемая часть Microsoft AJAX.
Хороший вопрос. Это может быть больше о том, как в первую очередь делать postbacks ... но, я мог бы быть полностью вне базы. –
Они * являются * AJAX, они просто * также * раздуты и просматривают всю страницу, отображающую жизненный цикл на сервере, они быстро исправить, но * очень * неэффективны. –