Объяснение жизненного цикла страницы ASP.NET

Некоторое время назад меня попросили объяснить жизненный цикл страницы ASP.NET в интервью. Я объяснил ему это, но мой ответ его не удовлетворил. Не мог бы кто-нибудь объяснить мне жизненный цикл, пожалуйста?

29
задан Computer Scientist 24 April 2014 в 08:04
поделиться

5 ответов

Я рекомендую эту страницу из MSDN:

Обзор жизненного цикла страницы ASP.NET

3
ответ дан 28 November 2019 в 01:47
поделиться

Ответ уже опубликован другими. просто поделитесь ярлыком кода, чтобы запомнить этапы жизненного цикла asp.net, с которыми я столкнулся в посте ниже.

R-SIL-VPRU

  1. Запрос
  2. Запуск
  3. Инициализация
  4. Загрузка
  5. Проверка
  6. Постобработка
  7. Рендеринг
  8. Выгрузка

    Как легко запомнить жизненный цикл страницы asp.net

2
ответ дан 28 November 2019 в 01:47
поделиться
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
-2
ответ дан 28 November 2019 в 01:47
поделиться

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. Использование:

Используйте это событие в элементах управления для окончательной очистки, такой как закрытие открытых подключений к базе данных, закрытие открытых файлов и т. Д.

-1
ответ дан 28 November 2019 в 01:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: