2009-05-27 3 views
1

У меня есть сетка данных и панель обновления. Теперь я просто просматривал некоторые блоги и обнаружил, что вы должны использовать минимальное количество панелей обновлений, как можете. В моем случае, где у меня есть Datagrid и панель обновления, какая будет лучшая ситуация?Каковы наилучшие методы использования AJAX с DataGrids?

1) Держите Datagrid внутри панели обновления.

2) Используйте панель обновления внутри ItemTemplates. Так что, только если я обновляю только выбранную строку, обновляется не вся сетка.

+0

Какой язык вы используете? – joshdick

+1

Я тоже немного смущен, вы говорите о том, что именно? – Peter

+1

Я использую VB.NET, и я смущен тем, что сохраняю Datagrid внутри панели обновления или помещаю панель обновления внутри DataGrid внутри ItemTemplate. – Mohit

ответ

2

К сожалению, если ваш DataGrid не очень большой, это не будет иметь большого значения в любом случае.

Основная часть ваших накладных расходов обычно заключается в восстановлении страницы. Даже если ваша UpdatePanel отправляет только одну отображаемую строку, вся страница, включая весь DataGrid, должна быть заново создана и отображена до того, как соответствующий раздел HTML может быть извлечен и отправлен обратно в браузер.

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

+0

Эй, Дейв, как дела? Да, мой datagrid большой. Вот почему я задаю этот вопрос. Каково было бы ваше предложение? Должен ли я использовать панели обновления сейчас или перейти к jquery или JSON? Пожалуйста, помогите мне. – Mohit

+0

Для обеспечения производительности, технология на стороне клиента (jQuery, JSON и т. Д.), Безусловно, способ пойти. Невозможно сделать UpdatePanel сопоставимым на сложной/большой странице. –

1

Если производительность является вашей целью, начните с DataGrid. Количество мусора, которое он хранит в viewstate, удивительно.

UpdatePanel сам по себе нигде не так плох, как DataGrid.

+0

Ну, я знаю о мусоре, который он хранит. Но мне это нужно сейчас. Итак, в текущем контексте, что будет лучшим вариантом для меня? – Mohit

+0

Независимо от того, что вы делаете, при использовании обновляемых панелей все пространство просмотра будет отправлено обратно в любом случае. Таким образом, либо придерживайтесь пункта 1, потому что это меньше кода для поддержания и более легкого определения любых проблем; или 2 полностью избавиться от панелей обновления в пользу другого подхода. И под другим подходом я подразумеваю НЕ использование .Net-версии Ajax. – NotMe

+0

Я просто подумал о еще одном варианте. Вместо этого используйте запросы JSON. Это приведет к значительно меньшему объему трафика между браузером и сервером. http://encosia.com/2007/07/11/why-aspnet-ajax-updatepanels-are-dangerous/ – NotMe

Смежные вопросы