In this article we are exploring more about ASP.NET Page Life Cycle.
Whenever web user request an ASP.NET page, a particular set of events is raised in a particular
sequence. This sequence of events is called the page execution lifecycle.
When a web page is requested from web user, it is loaded into the server memory,
processed, and sent to the web browser. Then it is unloaded from the memory. At
each of these steps, methods and events are available, which could be overridden
according to the need of the application.
The Page class creates a hierarchical tree of all the controls
on the page. All the components on the page, except the directives,
are part of this control tree. We can see the control tree by adding trace=
"true" to the page directive.
The page life cycle phases are
Initialization
The controls Instantiation on the page
Restoration and maintenance of the state
Execution of the event handler codes
Page rendering
Understanding the page cycle helps in writing codes for making some specific
thing happen at any stage of the page life cycle. It also helps in writing custom
controls and initializing them at right time, populate their properties with
view-state data and run control behavior code.
ASP.NET Page Life Cycle Events:
At each stage of the page life cycle, the page raises some events,
which could be coded. An event handler is basically a function or subroutine, bound
to the event, using declarative attributes such as Onclick or handle. Following
are the page life cycle events.
PreInit - PreInit is the first event in page life cycle.
It checks the IsPostBack property and determines whether the page
is a postback. It sets the themes and master pages,
creates dynamic controls, and gets and sets profile
property values. This event can be handled by overloading the OnPreInit method or
creating a Page_PreInit handler.
Init - Init event initializes the control property and
the control tree is built. This event can be handled by overloading the OnInit method
or creating a Page_Init handler.
InitComplete - InitComplete event allows tracking of view
state. All the controls turn on viewstate tracking.
LoadViewState - LoadViewState event allows loading view
state information into the controls.
LoadPostData - During this phase, the contents of all the
input fields are defined with the <form> tag are processed.
PreLoad - PreLoad occurs before the post back data is loaded
in the controls. This event can be handled by overloading the OnPreLoad method or
creating a Page_PreLoad handler.
Load - The Load event is raised for the page first and
then recursively for all child controls. The controls in the control tree are created.
This event can be handled by overloading the OnLoad method or creating a Page_Load
handler.
LoadComplete - The loading process is completed, control
event handlers are run, and page validation takes place. This event can be handled
by overloading the OnLoadComplete method or creating a Page_LoadComplete handler.
PreRender - The PreRender event occurs just before the
output is rendered. By handling this event, pages and controls can perform any updates
before the output is rendered.
PreRenderComplete -As the PreRender event is recursively
fired for all child controls, this event ensures the completion of the pre-rendering
phase.
SaveStateComplete - State of control on the page is saved.
Personalization, control state and view state information is saved. The HTML markup
is generated. This stage can be handled by overriding the Render method or creating
a Page_Render handler.
UnLoad - The UnLoad phase is the last phase of the page
life cycle. It raises the UnLoad event for all controls recursively and lastly for
the page itself. Final cleanup is done and all resources and references, such as
database connections, are freed. This event can be handled by modifying the OnUnLoad
method or creating a Page_UnLoad handler.
No comments:
Post a Comment
Please do not enter any spam link in the comment box.