MS UpdatePanels не совсем AJAX? - PullRequest
6 голосов
/ 13 июля 2010

Я продолжаю слышать, что серверные элементы управления ASP .NET AJAX (такие как UpdatePanels) на стороне сервера не являются в действительности AJAX, хотя им это и кажется, потому что рендеринг не полностью на стороне клиента. Я пытаюсь понять это с большей ясностью. Может кто-нибудь уточнить?

Спасибо ...

Ответы [ 2 ]

12 голосов
/ 13 июля 2010

UpdatePanels появились довольно рано в цикле AJAX, и они тяжелые (они могут генерировать около 100-300 тыс. JavaScript).За кулисами UpdatePanels отправляют всю страницу обратно на сервер с помощью JavaScript XMLHttpRequest.Новая страница генерируется с обычным жизненным циклом страницы, как и обратная передача, но только части, которые находятся внутри UpdatePanel (плюс части, необходимые для обновления ViewState и т. Д.), Отправляются обратно клиенту.Оттуда разметка вставляется без видимой вспышки или прерывания состояния страницы.

Большинство конкурирующих инструментов AJAX склоняются к сверхлегким реализациям, которые позволяют вам отправлять или генерировать небольшой фрагмент HTML с помощью Javascript, и я бы сказал, что это доминирующее направление сегодня, особенно за пределами мира ASP.NET.

Разница в общем количестве данных, передаваемых по сети, огромна - см. Ссылку ниже.В ситуациях с низким трафиком это может не иметь большого значения, но в случае такого сайта, как StackOverflow, он наверняка будет отображаться на счете пропускной способности.

Все это говорит, я не думаю, что будет справедливо сказать, что UpdatePanels на самом деле не являются AJAX, так как они делают , передают HTML через асинхронный JavaScript - это просто гигантский,часто громоздкие рамки сверху.UpdatePanels иногда получают плохой рэп, но они обеспечивают блестяще простой опыт разработчика.Я часто нахожу их полезными в ситуациях с низким трафиком.

Обновление: Здесь - это статья (старая, но все еще действующая), в которой проверяется полезная нагрузка, которую доставляют UpdatePanels наи с сервера.Это также относится к методам страницы, которые являются легкой альтернативой UpdatePanels на основе веб-служб.Это часто пропускаемая часть Microsoft AJAX.

1 голос
/ 13 июля 2010

http://msdn.microsoft.com/en-us/magazine/cc163480.aspx

Может быть, это ответит ???

Надеюсь.(Читая также).

Мне кажется, что Control - это объект на стороне сервера, который использует ajax в качестве механизма и что ajax визуализируется для выполнения на стороне клиента.В этом смысле это не чистый ajax, а скорее сочетание нескольких решений.

:)

...