Меня попросили объяснить жизненный цикл страницы ASP.NET в интервью некоторое время назад. Я объяснил это ему, но он не удовлетворился моим ответом. Может ли кто-нибудь объяснить мне жизненный цикл?
Объяснение жизненного цикла страницы ASP.NET
Ответ 1
Вы можете видеть:
Ответ 2
В жизненном цикле страницы ASP.NET существует 10 событий и последовательность: - Init, Load view state, PostBackdata, Load, Validate, Event, Pre-render, Save view state, Render and Unload.
Ниже представлено графическое представление жизненного цикла страницы ASP.NET с каким кодом ожидается в этом случае. Я предлагаю вам прочитать эту статью на жизненный цикл страницы ASP.NET, который объясняет все 10 событий в деталях и когда их использовать.
Ответ 3
Я думаю, что Microsoft сделала все возможное. Я просто подвел итог их резюме, вытащив наиболее значимые части каждого события.
Ответ 4
Я рекомендую эту страницу из MSDN:
Ответ 5
Ответ уже отправлен другими пользователями. просто поделившись кодом быстрого доступа, чтобы запомнить этапы жизненного цикла asp.net, на которые я столкнулся в следующем сообщении.
R-Sil-VPRU
- Запрос
- Начало
- Инициализация
- Load
- Проверка
- Обработка обратной почтой
- Rendering
-
Выгрузить
Ответ 6
Обзор жизненного цикла страницы ASP.Net
Когда страница ASP.Net запускается, страница проходит жизненный цикл, в котором ir выполняет ряд этапов обработки. К ним относятся
- Инициализация
- Управление настройками
- Восстановление и сохранение состояния
- Выполнение кода обработчика событий и
- Rendering
Почему нам нужно изучать жизненный цикл страницы ASP.Net?
Для вас важно понять жизненный цикл страницы, чтобы вы могли писать код на соответствующем этапе жизненного цикла для предполагаемого эффекта.
Если вы разрабатываете специальные элементы управления, вы должны быть знакомы с жизненным циклом страницы, чтобы правильно инициализировать элементы управления, заполнить код поведения управления. Жизненный цикл элемента управления основан на жизненном цикле страницы, и на странице возникают многие события, которые необходимо обрабатывать в настраиваемом элементе управления.
Статусы жизненного цикла общей страницы:
Некоторые части жизненного цикла происходят только тогда, когда страница обрабатывается как обратная передача. Для обратной передачи жизненный цикл страницы одинаковый во время частичной обратной передачи (как при использовании элемента панели управления Update), так и во время полной обратной передачи страницы.
- Запрос страницы
- Начало
- Инициализация
- Load
- Обработка обратных событий
- Rendering
- Выгрузить
1). Запрос страницы:
Запрос страницы происходит до начала жизненного цикла страницы. Когда страница запрашивается пользователем, ASP.Net определяет, должна ли страница анализироваться и скомпилироваться (поэтому начинается срок службы pge), или можно ли отправить кешированную версию страницы в ответ, не запуская страницу.
Прочитайте полную статью о "Обзор жизненного цикла страницы ASP.Net" .
Ответ 7
PreInit:
Вы можете:
Проверьте свойство IsPostBack, чтобы определить, будет ли это первый раз, когда страница обрабатывается. Создавайте или воссоздавайте динамические элементы управления. Динамическая установка главной страницы. Задайте свойство Theme динамически. Прочитайте или задайте значения свойств профиля. Если Request является обратной передачей:
Значения элементов управления еще не восстановлены из состояния представления. Если вы установите свойство управления на этом этапе, его значение может быть перезаписано в следующем событии. Init:
В событии Init для отдельных элементов управления происходит сначала, затем происходит событие Init страницы. Это событие используется для инициализации свойств управления. Initcomplete:
Отслеживание состояния ViewState включено в этом событии. Любые изменения, внесенные в ViewState в этом событии, сохраняются даже после следующей обратной передачи. PreLoad:
Это событие обрабатывает данные обратной передачи, которые включены в запрос. Нагрузка:
В этом случае объект Page вызывает метод OnLoad на самом объекте страницы, а затем вызывается метод элементов управления OnLoad. Таким образом, событие загрузки отдельных элементов управления происходит после события загрузки страницы. ControlEvents:
Это событие используется для обработки определенных событий управления, таких как элементы управления Button. Событие Click или TextBox контролирует событие TextChanged. В случае обратной передачи:
Если на странице содержатся элементы управления валидатором, перед запуском отдельных контрольных событий происходит свойство Page.IsValid и проверка элементов управления. LoadComplete:
Это событие происходит после этапа обработки событий. Это событие используется для таких задач, как загрузка всех других элементов управления на странице. PreRender:
В этом случае событие PreRender страницы вызывается сначала и позже для дочернего элемента управления. Использование:
Этот метод используется для внесения окончательных изменений в элементы управления на странице, например, назначение DataSourceId и вызов метода DataBind. PreRenderComplete:
Это событие возникает после завершения каждого свойства PreRender. SaveStateComplete:
Это возникает после того, как состояние управления и состояние просмотра были сохранены для страницы и для всех элементов управления. RenderComplete:
Объект страницы вызывает этот метод для каждого элемента управления, который присутствует на странице. Этот метод записывает разметку элементов управления, чтобы отправить ее в браузер. Выгрузка:
Это событие создается для каждого элемента управления, а затем для объекта Page. Использование:
Используйте это событие в элементах управления для окончательной работы по очистке, таких как закрытие открытых подключений к базе данных, закрытие открытых файлов и т.д.
Ответ 8
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