2009-07-20 19 views

Respuesta

22

Ventajas:

  1. Fácil de usar y configurar

Desventajas (Bueno, no sé de ninguna otra ventaja!):

Ver here y here
Ahora para la mejor parte, los alternativas:

Uso de jQuery construido en el soporte para Ajax para hacer GET/POST llamadas Ajax, es muy simple (simple que el panel de actualización diría yo), y absolutamente compatible con la mayoría de los navegadores
Un ejemplo del uso de una de las muchas maneras fáciles de jQuery proporciona para hacer llamadas Ajax:

$('#anotherContainer').load('/Home/RegularAjaxResource'); 

esto simplemente llamar a un recurso del servidor (RegularAjaxResource en este caso) y mostrar que ha devuelto datos sobre un elemento de interfaz de usuario con id anotherContainer

+2

1 para ligarse a ese puesto Encosia –

+0

@ 7alwagy: totalmente prefieren jQuery también ... esperar si se encuentra confiando en Viewstates y Postbacks del formulario web, la opción no UpdatePanel se vuelve bastante dolorosa ... He elaborado a continuación – andy

6

Estoy de acuerdo con 7alwagy, excepto que solo quiero agregar un punto importante.

usted tiene que utilizar el UpdatePanel si desea actualizar/cambiar los controles Y todavía trabajan dentro del modelo Webforms devolución de datos de control del Estado, en particular, Viewstate.

Por ejemplo:

si se utiliza de forma explícita JS para actualizar los valores de un control DropDownList en el cliente, y que está utilizando el construido en Webforms modelo de devolución de datos, los cambios que han hecho won' t ser recogido.

Esencialmente, si confía en los Viewstates integrados, entonces tiene que usar el UpdatePanel. Técnicamente no puede usarlo, pero realmente tendrá que luchar contra el marco para hacer las cosas.

Si no confía en los Postbacks o Viewstates, entonces no necesita el UpdatePanel.

3

Realmente no puedo pensar en 1 ventaja de usar los paneles de actualización. Son pena y lo descubrí por el camino difícil.

Son utilizables solo para los efectos ajax más triviales y si va a realizar una recuperación de datos o búsquedas en la base de datos, tienen un gran problema para ampliar. Los UpdatePanels son frustrantes y no hace mucho tiempo que he compartido el dolor de actualización here, here, here y here.

Si eso no es suficiente para convencerlo de no usar el panel de actualización, nada lo hará.

+1

Leí sus publicaciones y estaban muy débiles. Usted solo se quejó sobre el uso de paneles de actualización, pero nunca explicó por qué. Solo una publicación mencionó algo sobre envolver un div en una tabla porque tenías problemas. si no puede pensar en una ventaja única, entonces no sabe cómo usarlas adecuadamente. No son perfectos pero tienen buenos usos si se usan correctamente. Si su página WebForm depende de viewstate, entonces son bastante útiles. –

1

Acepto que el panel de actualización es malo y dangerous pero en algunos casos es posible que desee utilizarlo, en lugar de otras opciones.

  • La página tiene pocos controles asp.net, y menos viewstate.
  • La página html no es demasiado grande.
  • El tiempo está limitado para finalizar la tarea.
  • El rendimiento no es la primera preocupación.
  • Desea mantener el estado de los controles con devoluciones.
  • Tienes un montón de eventos secundarios que deseas disparar.
+0

No estoy de acuerdo. He encontrado universalmente que esto es un error. Una vez que comienzas ese camino con un proyecto simple, casi siempre tienes las manos atadas a la tecnología porque nadie quiere pagar por una nueva escritura y cada usuario pregunta "¿No puedes simplemente _____________"? –

1

Ventajas:

  1. fácil de implementar
  2. No es necesario escribir javascript en el cliente

Desventajas

  1. Utiliza más ancho de banda ya que todos los estados de vista se transfieren
  2. El elemento que se supone debe activar la llamada ajax debe estar dentro del panel de actualización. No es prácticamente posible todo el tiempo
  3. Los datos fuera del panel de actualización no se envían al servidor, que pueden ser necesarios para un procesamiento posterior.
  4. En la práctica desarrollador no puede pre-determinar qué se necesita que todos los datos a incluir en el panel de actualización
Cuestiones relacionadas