2008-09-16 4 views
46

У меня есть веб-страница ASP.NET, которая отображает множество полей, которые необходимо обновлять лучше всего при определенных условиях, нажатия кнопок и так далее. Мы внедрили AJAX, используя панель обновления ASP.NET, чтобы избежать видимых обратных передач.Одна панель обновления против нескольких панелей обновлений

Первоначально был только один область, которая нуждалась в этой способности ..., которая вскоре расширилась в другие поля. Теперь моя веб-страница имеет несколько UpdatePanels.

Мне интересно, было бы лучше всего обернуть всю форму в одной UpdatePanel или сохранить отдельные UpdatePanels.

Каковы наилучшие методы использования ASP.NET UpdatePanel?

+0

Ничего не объяснено здесь: - https://www.youtube.com/watch?v=Jt2qEscELY0 – 2016-10-19 07:07:16

ответ

46

Несколько панелей намного лучше. Одной из основных причин использования UpdatePanels является сокращение трафика и отправка только частей, которые вам нужны взад и вперед по проводу. Только используя одну панель обновления, вы в значительной степени делаете полный пост назад каждый раз, вы просто используете небольшой Javascript для обновления страницы без мерцания.

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

1

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

5

Я считаю, что лучше использовать несколько UpdatePanel, если это возможно, из-за размера POST, который генерирует UpdatePanel. Еще лучше, если вы можете использовать ручные подходы AJAX для небольших вещей, таких как обновление поля. WPF предоставляет некоторые функции и методы javascript для достижения этого. Вот какая-то связь, которая может быть полезной:

35

Я бы предостеречь, что с несколькими панелями обновления вы хотите, чтобы быть осторожным. Убедитесь, что для параметра UpdateMode установлено значение «Условное». В противном случае, когда одна панель обновления «отправляется обратно» на сервер, все они отправляются обратно.

Я настоятельно рекомендую использовать эти инструменты

Web Development Helper (вот краткий учебник Web Development Helper and ASP.NET Ajax)

Fiddler

+5

+1 для упоминания условного – Marcel 2011-07-01 08:58:05

2

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

2

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

Убедитесь, что вы установили updatemode = "условный" для всей панели обновления, иначе вся обновленная панель будет обновлена.

также проверить ниже сообщений для полного использования для обновления панели

http://www.codeproject.com/KB/aspnet/Select_List_Box.aspx

7

Любые из этих ответов не упоминается maintainabiliy сравнения между выборами. Третий вариант заключается в том, что вы не используете панель обновления и не оставляете себя на обратном ajax. Ознакомьтесь с интересными проектами: PokeIn и VisualJS.NET

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