ASP.NET Page Lifecycle

In ASP.NET, a web page has execution lifecycle that includes various phases. These phases include initialization, instantiation, restoring and maintaining state etc. it is required to understand the page lifecycle so that we can put custom code at any stage to perform our business logic.

Page Lifecycle stages

The following table contains the lifecycle stages of ASP.NET web page.

Stage Description
Page request This stage occurs before the lifecycle begins. When a page is requested by the user, ASP.NET parses and compiles that page.
Start In this stage, page properties such as Request and response are set. It also determines the Request type.
Initialization In this stage, each control's UniqueID property is set. Master page is applied to the page.
Load During this phase, if page request is postback, control properties are loaded with information.
Postback event handling In this stage, event handler is called if page request is postback. After that, the Validate method of all validator controls is called.
Rendering Before rendering, view state is saved for the page and all controls. During the rendering stage, the page calls the Render method for each control, providing a text writer that writes its output to the OutputStream object of the page's Response property.
Unload At this stage the requested page has been fully rendered and is ready to terminate.at this stage all properties are unloaded and cleanup is performed.

A requested page first loaded into the server memory after that processes and sent to the bowser. At last it is unloaded from the server memory. ASP.NET provides methods and events at each stage of the page lifecycle that we can use in our application. In the following table, we are tabled events.

ASP.NET Life Cycle Events

Page Event Typical Use
PreInit This event is raised after the start stage is complete and before the initialization stage.
Init This event occurs after all controls have been initialized.
We can use this event to read or initialize control properties.
InitComplete This event occurs at the end of the page's initialization stage.
We can use this event to make changes to view state that we want to make sure are persisted after the next postback.
PreLoad This event is occurs before the post back data is loaded in the controls.
Load This event is raised for the page first time and then recursively for all child controls.
Control events This event is used to handle specific control events such as Button control' Click event.
LoadComplete This event occurs at the end of the event-handling stage.
We can use this event for tasks that require all other controls on the page be loaded.
PreRender This event occurs after the page object has created all controls that are required in order to render the page.
PreRenderComplete This event occurs after each data bound control whose DataSourceID property is set calls its DataBind method.
SaveStateComplete It is raised after view state and control state have been saved for the page and for all controls.
Render This is not an event; instead, at this stage of processing, the Page object calls this method on each control.
Unload This event raised for each control and then for the page.





Contact US

Email:[email protected]

ASP.NET Life Cycle
10/30