Un Panel de Actualización frente a Varios Paneles de Actualización [cerrado]


Tengo un ASP.NET página web que muestra una variedad de campos que deben actualizarse mejor en ciertas condiciones, clics de botón, etc. Hemos implementado AJAX, utilizando el ASP.NET Panel de actualización para evitar postbacks visibles.

Originalmente solo había un área que necesitaba esta habilidad ... eso pronto se expandió a otros campos. Ahora mi página web tiene múltiples UpdatePanels.

Me pregunto si sería mejor envolver todo el formulario en un solo panel de actualización, o mantener los paneles de actualización individuales.

¿ Cuáles son las mejores prácticas para utilizar el ASP.NET UpdatePanel?

Author: Shog9, 2008-09-16

7 answers

Los paneles múltiples son mucho mejores. Una de las principales razones para usar UpdatePanels es reducir el tráfico y enviar solo las piezas que necesita de un lado a otro a través del cable. Al usar solo un panel de actualización, estás casi haciendo una publicación completa cada vez, solo estás usando un poco de Javascript para actualizar la página sin un parpadeo.

Si hay partes de la página que deben actualizarse juntas, hay formas de activar otros paneles para actualizar cuando uno lo hace.. pero definitivamente deberías usar varios paneles de actualización.

 48
Author: Wayne,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 14:11:43

Le advierto que con múltiples paneles de actualización querrá tener cuidado. Asegúrese de establecer el UpdateMode en Condicional. De lo contrario, cuando un panel de actualización se "vuelve a publicar" en el servidor, todos ellos se vuelven a publicar.

Recomiendo encarecidamente el uso de estas herramientas

Web Development Helper (aquí hay un breve tutorial Web Development Helper y ASP.NET Ajax)

Fiddler

 36
Author: Jon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 14:41:55

Ninguna de estas respuestas menciona la comparación de mantenimiento entre las opciones. La tercera opción es que no use ningún panel de actualización y deje su auto al ajax inverso. Echa un vistazo a los proyectos interesantes: PokeIn y VisualJS.NET

 7
Author: BigbangO,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-16 21:11:19

Creo que es mejor usar múltiples UpdatePanel si puede debido al tamaño del POST que genera el UpdatePanel. Es incluso mejor si puedes usar enfoques AJAX manuales para cosas pequeñas como actualizar un campo. El WPF proporciona algunas funciones y métodos de javascript para lograr esto. Aquí hay un enlace que puede ser ayuda:

 5
Author: craigmoliver,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 14:13:27

Recomiendo varios updatepanels. El uso de múltiples updatepanels mantendrá vivo el verdadero significado de usar updatepanel en asp.net aplicaciones web. Y dado que incluso podemos activar un updatepanel desde otro updatepanel, esto hace que sea más fácil codificar los controles y el comportamiento de toda la página.

 2
Author: sangam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-17 13:10:09

Estoy completamente de acuerdo en usar múltiples Paneles de actualización en lugar de usar un solo panel de actualización, Cuando desea que solo una determinada parte sea postbacked si desea que toda la página sea postback, entonces es mejor usar un solo panel de actualización.

Asegúrese de hacer el updatemode="condicional" para todo el updatepanel de lo contrario todo el updatepanel se actualizará.

También echa un vistazo a la siguiente publicación para el uso completo para la actualización panel

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

 2
Author: Chintan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-22 10:56:13

No estoy seguro de las mejores prácticas, pero en mi experiencia, varios paneles funcionan bien y reducen la cantidad de datos que se envían a la vez, lo que resulta en un aumento en el tiempo de respuesta en general. Los paneles múltiples también reducen la complejidad de cada llamada al servidor.

 1
Author: Raithlin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 14:01:19