Modos de actualización del UpdatePanel
El control UpdatePanel del ASP.NET AJAX Framework proporciona la propiedad UpdateMode que determina bajo qué condiciones se actualizara el UpdatePanel, esta propiedad se puede establecer mediante dos formas Always y Conditional.
-
Always: el contenido del UpdatePanel sera siempre será renderizado cada vez que se invoque un postback, independientemente que sea el mismo UpdatePanel.
-
Conditional: el UpdatePanel solo se renderizara cuando en los siguientes escenarios: un control hijo del UpdatePanel invoca un postback, se registra un trigger a evento de algún control que no se encuentra fuera del UpdatePanel, se llama al método Update del control UpdatePanel manual mente.
A continuación se muestra el fragmento declarativo para observar la funcionalidad de la propiedad UpdateMode, por defecto esta como Always, para este ejemplo se hay dos UpdatePanel en el que el primero se le ha establecido a su propiedad UpdateMode como Conditional.
Al ejecutar este fragmento de código declarativo podemos observar que al oprimir el control Button hijo del UpdatePanel1 se actualizan los dos UpdatePanel debido a que como se menciono anteriormente la propiedad UpdateMode del UpdatePanel2 está establecida por defecto como Always siempre se actualizara independiente del UpdatePanel que haya invocado el Asyncpostback.
Si oprimimos el control Button del UpdatePanel2 solo se actualiza el contenido del mismo y no del control UpdatePanel2.
Conclusión:
Solo se debe usar el modo de actualización Always cuando realmente se necesite, debido a que un uso desmedido de este modo de actualización puede llegar degradar el rendimiento debido a que se realizara actualización dinámica a todos los UpdatePanel que tengan establecida la propiedad UpdateMode como Always.