What is Page Life Cycle in ASP.net?
An Asp.Net page is run through a series of phases during its creation and disposal. These include initialization, instantiating controls, restoring and maintaining state, running event handler code, and rendering.
When a page is requested, it is loaded into the server memory , processed, and sent to the 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. In general terms, the page goes through the stages fo the following:
- Page request
- Postback event handling
1. Page request : This stage occurs before the lifecycle begins. When a page is requested by the user, ASP.NET parses and compiles that page.
2. Start : At this stage, the Request and Response objects are set. If the request is an old request or post back, the IsPostBack property of the page is set to true. The UICulture property of the page is also set.
3. Initialization : During page initialization, controls on the page are available and each control's UniqueID property is set. A master page and themes are also applied to the page if applicable. If the current request is a postback, the postback data has not yet been loaded and control property values have not been restored to the values from view state .
4. Load : During this phase, if page request is postback, control properties are loaded with information.
5. Postback event handling : If the request is a postback (old request), the related event handler is invoked.
6. 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.
7. 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.
Each time we request an ASP.NET page, we run through the same process from Page request to Unload. By understanding the inner workings of the ASP.NET page process, writing and debugging our code will be much easier and effective.