Одна панель обновления против нескольких панелей обновления
У меня есть веб-страница ASP.NET, которая отображает множество полей, которые необходимо обновлять лучше всего при определенных условиях, нажатиях кнопок и так далее. Мы внедрили AJAX, используя панель обновления ASP.NET, чтобы избежать видимых обратных передач.
Первоначально была только одна область, которая нуждалась в этой способности... которая вскоре распространилась на другие области. Теперь на моей веб-странице есть несколько панелей обновления.
Мне интересно, будет ли лучше просто обернуть всю форму в одну UpdatePanel или сохранить отдельные UpdatePanel.
Каковы лучшие практики для использования ASP.NET Update Panel?
7 ответов
Несколько панелей намного лучше. Одной из основных причин использования UpdatePanels является сокращение трафика и отправка только тех частей, которые вам нужны, по проводам. Используя только одну панель обновлений, вы в значительной степени создаете полный пост каждый раз, вы просто используете небольшой Javascript для обновления страницы без мерцания.
Если есть части страницы, которые необходимо обновить вместе, есть способы инициировать обновление других панелей, когда одна из них... но вам определенно следует использовать несколько панелей обновления.
Я бы предупредил, что с несколькими панелями обновлений вы будете осторожны. Убедитесь, что для UpdateMode установлено значение Conditional. В противном случае, когда одна панель обновлений "отправляется обратно" на сервер, все они отправляются обратно.
Я настоятельно рекомендую использовать эти инструменты
Помощник по веб-разработке (вот краткое руководство Помощник по веб-разработке и ASP.NET Ajax)
Ни в одном из этих ответов не упоминается сравнение между вариантами. Третий вариант - вы не используете панель обновлений и оставляете себя на обратном Ajax. Проверьте интересные проекты: PokeIn и VisualJS.NET
Я считаю, что лучше всего использовать несколько UpdatePanel, если вы можете из-за размера POST, который генерирует UpdatePanel. Еще лучше, если вы можете использовать подходы AJAX вручную для небольших вещей, таких как обновление поля. WPF предоставляет некоторые функции и методы javascript для достижения этой цели. Вот некоторая ссылка, которая может быть полезна:
Я рекомендую несколько панелей обновления. Использование нескольких панелей обновления позволит сохранить истинный смысл использования панели обновления в веб-приложениях asp.net. А поскольку мы можем даже запускать одну панель обновления из другой панели обновления, это облегчает кодирование элементов управления и поведения всей страницы.
Я полностью согласен использовать панель множественных обновлений, а не панель единого обновления. Если вы хотите отправить только определенную часть, если вы хотите отправить всю страницу, то лучше использовать панель единого обновления.
Убедитесь, что вы сделали updatemode="conditional" для всей панели обновления, в противном случае вся панель обновления будет обновлена.
Также проверьте ниже сообщение для полного использования для панели обновления
Не уверен насчет лучших практик, но, по моему опыту, несколько панелей работают хорошо и сокращают объем данных, отправляемых за один раз, что приводит к увеличению общего времени отклика. Несколько панелей также снижают сложность каждого вызова сервера.