Explicación del ciclo de vida de la página ASP.NET

Me pidieron que explicara el ciclo de vida de la página ASP.NET en una entrevista hace algún tiempo. Se lo expliqué, pero no estaba satisfecho con mi respuesta. ¿Podría alguien explicarme el ciclo de vida por favor?

Puedes ver:

  1. Diagtwig del ciclo de vida de la página ASP.NET ,

  2. El ciclo de vida de la página ASP.NET (por Solomon Shaffer)

  3. Microsoft Developer Network

Hay 10 eventos en el ciclo de vida de la página ASP.NET y la secuencia es: – Init, estado de vista de carga, PostBackdata, Cargar, Validar, Evento, Preprocesamiento, Guardar estado de visualización, Renderizar y Descargar.

A continuación se muestra una vista gráfica del ciclo de vida de la página ASP.NET con qué tipo de código se espera en ese evento. Le sugiero que lea este artículo sobre el ciclo de vida de la página ASP.NET que explica los 10 eventos en detalle y cuándo usarlos.

enter image description here

Creo que Microsoft ha hecho el mejor trabajo de esto. Solo resumiría su resumen, sacando las porciones más significativas de cada evento.

Resumen del ciclo de vida de la página ASP.NET

Recomiendo esta página de MSDN:

Resumen del ciclo de vida de la página ASP.NET

La respuesta ya ha sido publicada por otros. simplemente compartiendo el código de acceso directo para recordar las etapas del ciclo de vida de asp.net que encontré en la siguiente publicación.

R-SIL-VPRU

  1. Solicitud
  2. comienzo
  3. Inicialización
  4. Carga
  5. Validación
  6. Manejo posterior de la publicación
  7. Representación
  8. Descargar

    Cómo recordar el ciclo de vida de la página asp.net de manera sencilla

Resumen del ciclo de vida de la página ASP.Net

Cuando se ejecuta una página ASP.Net, la página pasa por un ciclo de vida en el que ir realiza una serie de pasos de procesamiento. Estos incluyen

  • Inicialización
  • Instanciando controles
  • Restringir y mantener el estado
  • Ejecutando el código del controlador de eventos, y
  • Representación

¿Por qué tenemos que aprender el ciclo de vida de la página ASP.Net?

Es importante que comprenda el ciclo de vida de la página para poder escribir el código en la etapa del ciclo de vida apropiado para el efecto que desea.

Si desarrolla controles personalizados, debe estar familiarizado con el ciclo de vida de la página para inicializar correctamente los controles, completar el código de comportamiento de control. El ciclo de vida de un control se basa en el ciclo de vida de la página, y la página plantea muchos de los eventos que debe manejar en un control personalizado.

Etapas generales del ciclo de vida de la página:

Algunas partes del ciclo de vida ocurren solo cuando una página se procesa como devolución de datos. Para las devoluciones, el ciclo de vida de la página es el mismo durante una devolución de datos parcial (como cuando se usa un control de Panel de actualización) como lo es durante una devolución de datos de página completa.

  1. Solicitud de página
  2. comienzo
  3. Inicialización
  4. Carga
  5. Manejo de eventos de postback
  6. Representación
  7. Descargar

1). Solicitud de página:

La solicitud de página ocurre antes de que comience el ciclo de vida de la página. Cuando el usuario solicita la página, ASP.Net determina si la página necesita ser analizada y comstackda (por lo tanto, comienza la vida de un pge), o si una versión en caché de la página puede enviarse en respuesta sin ejecutar la página.

Lea el artículo completo sobre “Visión general del ciclo de vida de la página ASP.Net” aquí.

PreInit:

Usted puede:

Compruebe si la propiedad IsPostBack determina si esta es la primera vez que se procesa la página. Crear o recrear controles dynamics Establezca la página maestra dinámicamente. Establezca la propiedad Theme dinámicamente. Lea o establezca valores de propiedades de perfil. Si la solicitud es una devolución de datos:

Los valores de los controles aún no se han restaurado desde el estado de vista. Si configura propiedad de control en esta etapa, su valor podría sobrescribirse en el próximo evento. En eso:

En el evento Init de los controles individuales se produce primero, luego se produce el evento Init de la página. Este evento se usa para inicializar propiedades de control. InitComplete:

El seguimiento de ViewState está activado en este evento. Cualquier cambio realizado en el ViewState en este evento se conservará incluso después de la próxima devolución de datos. Precarga:

Este evento procesa los datos de devolución que se incluyen con la solicitud. Carga:

En este caso, el objeto Page llama al método OnLoad en el objeto Page en sí, luego se llama al método OnLoad de los controles. Por lo tanto, el evento Load de los controles individuales se produce después del evento Load de la página. ControlEvents:

Este evento se usa para manejar eventos de control específicos como un evento Click del control Button o un evento TextChanged del control TextBox. En caso de devolución de datos:

Si la página contiene controles de validador, la propiedad Page.IsValid y la validación de los controles tiene lugar antes del disparo de eventos de control individuales. LoadComplete:

Este evento ocurre después de la etapa de manejo del evento. Este evento se usa para tareas como cargar todos los demás controles en la página. PreRender:

En este caso, el evento PreRender de la página se llama primero y luego para el control secundario. Uso:

Este método se usa para realizar cambios finales en los controles de la página, como asignar el DataSourceId y llamar al método DataBind. PreRenderComplete:

Este evento se produce después de que se completa la propiedad PreRender de cada control. SaveStateComplete:

Esto se levanta después de que el estado de control y la vista se hayan guardado para la página y para todos los controles. RenderCompleto:

El objeto de la página llama a este método en cada control que está presente en la página. Este método escribe el marcado del control para enviarlo al navegador. Descargar:

Este evento se plantea para cada control y luego para el objeto Página. Uso:

Utilice este evento en los controles para el trabajo de limpieza final, como cerrar las conexiones de bases de datos abiertas, cerrar archivos abiertos, etc.

Partial Class _Default Inherits System.Web.UI.Page Dim str As String Protected Sub Page_Disposed(sender As Object, e As System.EventArgs) Handles Me.Disposed str += "PAGE DISPOSED" & "
" End Sub Protected Sub Page_Error(sender As Object, e As System.EventArgs) Handles Me.Error str += "PAGE ERROR " & "
" End Sub Protected Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init str += "PAGE INIT " & "
" End Sub Protected Sub Page_InitComplete(sender As Object, e As System.EventArgs) Handles Me.InitComplete str += "INIT Complte " & "
" End Sub Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load str += "PAGE LOAD " & "
" End Sub Protected Sub Page_LoadComplete(sender As Object, e As System.EventArgs) Handles Me.LoadComplete str += "PAGE LOAD Complete " & "
" End Sub Protected Sub Page_PreInit(sender As Object, e As System.EventArgs) Handles Me.PreInit str = "" str += "PAGE PRE INIT" & "
" End Sub Protected Sub Page_PreLoad(sender As Object, e As System.EventArgs) Handles Me.PreLoad str += "PAGE PRE LOAD " & "
" End Sub Protected Sub Page_PreRender(sender As Object, e As System.EventArgs) Handles Me.PreRender str += "PAGE PRE RENDER " & "
" End Sub Protected Sub Page_PreRenderComplete(sender As Object, e As System.EventArgs) Handles Me.PreRenderComplete str += "PAGE PRE RENDER COMPLETE " & "
" End Sub Protected Sub Page_SaveStateComplete(sender As Object, e As System.EventArgs) Handles Me.SaveStateComplete str += "PAGE SAVE STATE COMPLTE " & "
" lbl.Text = str End Sub Protected Sub Page_Unload(sender As Object, e As System.EventArgs) Handles Me.Unload 'Response.Write("PAGE UN LOAD\n") End Sub End Class