ASP.NET explicação do ciclo de vida da página
pediram-me para explicar ASP.NET page life cycle in an interview some time back. Eu expliquei-lhe, mas ele não ficou satisfeito com a minha resposta. Alguém me pode explicar o ciclo de vida, por favor?
7 answers
Abaixo encontra-se uma visão pictórica de: ASP.NET ciclo de vida da página com que tipo de código é esperado nesse evento. Sugiro que leia este artigo sobre ASP.NET Page life cycle que explica todos os 10 eventos em detalhes e quando usá-los.
Acho que a Microsoft fez o melhor trabalho disto. Eu resumiria o resumo deles, retirando as partes mais significativas de cada evento.
Recomendo esta página do MSDN:
A resposta já está publicada por outros. apenas compartilhando o código de atalho para lembrar o asp.net estágios de ciclo de vida que eu encontrei no post abaixo.
R-SIL-VPRU
- pedido
- Início
- inicialização
- Carga
- validação
- manipulação posterior
- renderização
-
Descarregar
PreInit:
Podes:
Verifique a propriedade IsPostBack para determinar se esta é a primeira vez que a página está sendo processada. Criar ou recriar controlos dinâmicos. Definir a página principal dinamicamente. Definir a propriedade temática dinamicamente. Ler ou definir os valores da propriedade do perfil. Se o pedido for postback:
Os valores dos controlos ainda não foram restaurados do Estado de visualização. Se você definir propriedade de controle nesta fase, seu valor pode ser substituído no próximo evento. Init:
No caso de os controlos individuais ocorrerem primeiro, mais tarde ocorre o caso da Página. Este evento é usado para inicializar as propriedades de controlo. Completo:
Rastreamento do ViewState Está ligado neste evento. Quaisquer mudanças feitas no ViewState neste evento são persistidas mesmo após o próximo postback. Pré-carregamento:
Este evento processa os dados de postback que são incluídos com o pedido. Carga:
Neste caso, o objecto da Página invoca o método OnLoad no próprio objeto da Página, mais tarde o método OnLoad dos controles é chamado. Assim, o evento de carga dos controles individuais ocorre após o evento de carga da página. ControlEvents:
Este evento é usado para lidar com eventos de controlo específicos, tais como um evento de carregar num botão ou um evento de mudança de texto de um controlo de caixa de texto. No caso do postback:
Se a página contém controlos de validação, a página.Propriedade IsValid e a validação dos controlos ocorre antes o disparo de eventos de controlo individual. Completar:
Este evento ocorre após a fase de manipulação do evento. Este evento é usado para Tarefas como carregar todos os outros controles na página. Pretender:
Neste caso, o evento Pré -ender da página é chamado primeiro e depois para o controle de crianças. Utilização:Este método é utilizado para fazer alterações finais nos controlos na página, como a atribuição do DataSourceId e a chamada do método de Base de dados. Antes da finalização:
Isto o evento é levantado após a propriedade Pré-Dominadora de cada controle é concluída. Savestatecompleto:
Isto é levantado após o estado de controlo e o estado de visualização terem sido guardados para a página e para todos os controlos. Completar:
O objecto da página chama a este método em cada controlo que está presente na página. Este método Escreve a marcação do controle para enviá-lo para o navegador. Descarregar:
Este evento é levantado para cada controlo e depois para o objecto da Página. Utilização:
Usar este evento nos controles para o trabalho final de limpeza, tais como fechar conexões abertas de banco de dados, fechar arquivos abertos, 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" & "<br />"
End Sub
Protected Sub Page_Error(sender As Object, e As System.EventArgs) Handles Me.Error
str += "PAGE ERROR " & "<br />"
End Sub
Protected Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init
str += "PAGE INIT " & "<br />"
End Sub
Protected Sub Page_InitComplete(sender As Object, e As System.EventArgs) Handles Me.InitComplete
str += "INIT Complte " & "<br />"
End Sub
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
str += "PAGE LOAD " & "<br />"
End Sub
Protected Sub Page_LoadComplete(sender As Object, e As System.EventArgs) Handles Me.LoadComplete
str += "PAGE LOAD Complete " & "<br />"
End Sub
Protected Sub Page_PreInit(sender As Object, e As System.EventArgs) Handles Me.PreInit
str = ""
str += "PAGE PRE INIT" & "<br />"
End Sub
Protected Sub Page_PreLoad(sender As Object, e As System.EventArgs) Handles Me.PreLoad
str += "PAGE PRE LOAD " & "<br />"
End Sub
Protected Sub Page_PreRender(sender As Object, e As System.EventArgs) Handles Me.PreRender
str += "PAGE PRE RENDER " & "<br />"
End Sub
Protected Sub Page_PreRenderComplete(sender As Object, e As System.EventArgs) Handles Me.PreRenderComplete
str += "PAGE PRE RENDER COMPLETE " & "<br />"
End Sub
Protected Sub Page_SaveStateComplete(sender As Object, e As System.EventArgs) Handles Me.SaveStateComplete
str += "PAGE SAVE STATE COMPLTE " & "<br />"
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