martes, 11 de septiembre de 2012

Ciclo de vida de los eventos de una pagina en ASP.NET

PreInit:
Se provoca después que la fase inicial se ha completado y antes de que comience la fase de inicialización.
Utilice este evento para lo siguiente:
  • Ver la propiedad  IsPostBack para determinar si esta es la primera vez en que se está procesando. Las propiedades IsCallback y IsCrossPagePostBack también se han creado en este momento.
  • Crear o volver a crear controles dinámicos.
  • Establecer una página principal dinámicamente.
  • Ajustar la propiedad Theme dinámicamente.
  • Leer o establecer valores de propiedad de perfil.


Init:
Se provoca después de que todos los controles se han inicializado y la configuración de los Skin han sido aplicadas. El evento Init de los controles individuales se produce antes del evento Init de la página.
Utilice este evento para leer o inicializar las propiedades del control.


InitComplete:
Lanzado al final de la fase de inicialización de la página. Sólo una operación se lleva a cabo entre los eventos Init e InitComplete.
Utilice este evento para realizar cambios en el view state que usted quiera que se conserven después del postback.


PreLoad:
Se provoca una vez cargado el view state y todos los controles, y después de procesar los datos del postback que esta incluido con la instancia de Request.


Load:
El objeto Page llama al método OnLoad, y luego hace lo mismo de forma recursiva para cada control secundario hasta que la página y todos los controles estén cargados. La carga de los controles individuales se produce después de la carga de los eventos de la página.
Utilice el evento OnLoad para establecer las propiedades de los controles y establecer conexiones de base de datos.


Eventos de los controles:
Aquí se controlan los eventos de los controles, como el onClick de un botón o el evento TextChanged de un TextBox.


LoadComplete:
Lanzado en el final de los eventos de los controles.
Utilice este evento para realizar tareas que requieren que todos los demás controles de la página esten cargados.


PreRender:
Se provoca después que el objeto Page ha creado todos los controles que se requieren en la página, incluyendo controles secundarios de controles compuestos. (Para ello, el objeto Page llama EnsureChildControls de los controles y de la página.)
Utilice el evento para hacer cambios finales a los contenidos de la página o en sus controles antes de que comience la fase de Rendering.


PreRenderComplete:
Se provoca después que se establece la propiedad DataSourceID  y se llama a su método DataBind


SaveStateComplete:
Se provoca una vez el View State y el control state de la página y todos los controles se han guardado. Cualquier cambio en la página o control en este punto afecta al renderizado, pero los cambios no se recuperarán en el siguiente postback.


Render:
Este no es un evento, sino que, en esta etapa de procesamiento, el objeto Page llama a este método en cada control. Todos los controles de servidor Web ASP.NET tienen un método Render que escribe el codigo en el navegador.
Si crea un control personalizado, normalmente se invalida este método para generar el marcado del control. Sin embargo, si el control personalizado incorpora sólo estándar ASP.NET de controles de servidor Web y no marcado personalizado, no es necesario reemplazar el metodo Render.


Unload:
Se lanza para cada control primero, y a continuación para la página.
En los controles, utilizar este evento para hacer la limpieza final para los controles específicos, tales como el cierre de las conexiones de base de datos.
Para la propia página, utilice este evento para realizar el trabajo de limpieza final, como cerrar los archivos abiertos y las conexiones de base de datos.