Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
I always forget the exact order in which events fire. So i found the following when i googled and wanna share it with you all :) Page.Init + Control.Init for every control on the Web FormThe first stage in the page life cycle is initialization. After the page's control tree is populated with all the statically declared controls in the .aspx source the Init event is fired. First, the Init event for the Page object occurs, then Init event occurs for each control on the Page. Viewstate information is not available at this stage. Page.LoadViewStateAfter initialization, ASP.NET loads the view state for the page. ViewState contains the state of the controls the last time the page was processed on the server. Page.ProcessPostDataPost Data gets read from the request and control values are applied to control initalized in stage 1. Page.Load + Control.Load for each control on the PageIf this is the first time the page is being processed (Page.IsPostback property), initial data binding is performed here. "Change" events are fired for controls (TextChanged, SelectedIndexChanged, and similar) The current value (from Post Data) is compared to the original value located in the ViewState. If there is a difference "Changed" events are raised. Server-side events are fired for any validation controls Button.Click + Button.CommandThe Click and Command events are fired for the button that caused the postback Page.PreRender + Control.PreRender Page.SaveViewStateNew values for all the controls are saved to the view state for another round-trip to the server. Page.Render