Некоторое время назад меня попросили объяснить жизненный цикл страницы ASP.NET в интервью. Я объяснил ему это, но мой ответ его не удовлетворил. Не мог бы кто-нибудь объяснить мне жизненный цикл, пожалуйста?
Ответ уже опубликован другими. просто поделитесь ярлыком кода, чтобы запомнить этапы жизненного цикла asp.net, с которыми я столкнулся в посте ниже.
R-SIL-VPRU
Выгрузка
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
PreInit:
Вы можете:
Проверить свойство IsPostBack, чтобы определить, выполняется ли это в первый раз при обработке страницы. Создать или воссоздать динамические элементы управления. Установить главную страницу динамически. Установите свойство Theme динамически. Прочитайте или установите значения свойств профиля. Если запрос является обратной передачей:
Значения элементов управления еще не были восстановлены из состояния просмотра. Если вы установите свойство control на этом этапе, его значение может быть перезаписано в следующем событии. Init:
В случае события Init отдельных элементов управления сначала происходит, а затем событие Init страницы. Это событие используется для инициализации свойств элемента управления. InitComplete:
В этом событии включено отслеживание ViewState. Любые изменения, внесенные в ViewState в этом событии, сохраняются даже после следующей обратной передачи. PreLoad:
Это событие обрабатывает данные обратной передачи, включенные в запрос. Загрузка:
В этом случае объект Page вызывает метод OnLoad для самого объекта Page, затем вызывается метод элементов управления OnLoad. Таким образом, событие загрузки отдельных элементов управления происходит после события загрузки страницы. ControlEvents:
Это событие используется для обработки определенных событий элемента управления, таких как событие Click элемента управления Button или событие TextChanged элемента управления TextBox. В случае обратной передачи:
Если страница содержит элементы управления валидатора, свойство Page.IsValid и проверка элементов управления выполняются до запуска отдельных событий элемента управления. LoadComplete:
Это событие происходит после этапа обработки события. Это событие используется для таких задач, как загрузка всех других элементов управления на странице. PreRender:
В этом случае сначала вызывается событие PreRender страницы, а затем дочерний элемент управления. Использование:
Этот метод используется для внесения окончательных изменений в элементы управления на странице, например, назначение DataSourceId и вызов метода DataBind. PreRenderComplete:
Это событие вызывается после завершения свойства PreRender каждого элемента управления. SaveStateComplete:
Возникает после сохранения состояния элемента управления и состояния просмотра для страницы и для всех элементов управления. RenderComplete:
Объект страницы вызывает этот метод для каждого элемента управления, присутствующего на странице. Этот метод записывает разметку элемента управления, чтобы отправить ее в браузер. Unload:
Это событие вызывается для каждого элемента управления, а затем для объекта Page. Использование:
Используйте это событие в элементах управления для окончательной очистки, такой как закрытие открытых подключений к базе данных, закрытие открытых файлов и т. Д.