Locations of visitors to this page

    The (abridged) Control LiveCycle       Minimize  

The following table provides a high-level overview of the phases in the lifecycle of a control.

For a more indepth one, see here.

Phase What a control needs to do Method or event to override
Initialize Initialize settings needed during the lifetime of the incoming Web request.
See Handling Inherited Events.
Init event ( OnInit method)
Load control state Loads the ControlState of the control. 
Note: To use this method, the control must call the Page.RegisterRequiresControlState method in the OnInit method of the control.
 
Load view state At the end of this phase, the ViewState property of a control is automatically populated, as described in Maintaining State in a Control.
A control can override the default implementation of the LoadViewState method to customize state restoration.
...
LoadViewState method
Process postback data Process incoming form data and update properties accordingly.
See Processing Postback Data.
Note:
Only controls that process postback data participate in this phase.
LoadPostData method
(if IPostBackDataHandler is implemented)
Load Perform actions common to all requests, such as setting up a database query.
At this point:
  • server controls in the tree are created and initialized,
  • the state is restored, and
  • form controls reflect client-side data.

See Handling Inherited Events
Load event
(OnLoad method)
Send postback change notifications. Raise change events in response to state changes between the current and previous postbacks.
See Processing Postback Data.
Note:
Only controls that raise postback change events participate in this phase.
RaisePostDataChangedEvent method (if IPostBackDataHandler is implemented)

 

Handle postback events Handle the client-side event that caused the postback and raise appropriate events on the server.
See Capturing Postback Events. br/> Note:
Only controls that process postback events participate in this phase.
RaisePostBackEvent method (if IPostBackEventHandler is implemented)
Prerender Perform any updates before the output is rendered.
Any changes made to the state of the control in the prerender phase can be saved, while changes made later, in the rendering phase, are lost.
See Handling Inherited Events.
PreRenderevent (OnPreRender method)
Save state The ViewState property of a control is automatically persisted to a string object after this stage.
This string object is sent to the client and back as a hidden variable.
For improving efficiency, a control can override the SaveViewState method to modify the ViewState property.
See Maintaining State in a Control.
SaveViewStatemethod
Render Generate output to be rendered to the client. See Rendering an ASP.NET Server Control. Render method
Dispose Perform any final cleanup before the control is torn down.
References to expensive resources such as database connections must be released in this phase.
See Methods in ASP.NET Server Controls.
Dispose method
Unload Perform any final cleanup before the control is torn down.
Control authors generally perform cleanup in Dispose and do not handle this event.
UnLoad event (On UnLoad method)
Notes:
  • To override an EventName event, override the OnEventName method (and call base. OnEventName).
  • The methods and events in the third column are inherited from System.Web.UI.Control, with the following exceptions: LoadPostData and RaisePostDataChangedEvent are methods of the IPostBackDataHandler interface, and RaisePostBackEvent belongs to the IPostBackEventHandler interface. If your control participates in postback data processing you must implement IPostBackDataHandler. If your control receives postback events you must implement IPostBackEventHandler.
  • The CreateChildControls method is not listed in the table because it is called whenever the ASP.NET page framework needs to create the controls tree and this method call is not limited to a specific phase in a control's lifecycle.
    For example, CreateChildControls can be invoked when loading a page, during data binding, or during rendering.


             
Copyright 2007 by Sky Sigal