I use GridViews pretty often and sometimes I get confused to where to put certain code. What is the sequence that events are fired off including all page events?
Edited: I really am also trying to understand what happens between the page and the Gridview. Do the events ever cross? Or do all page events occur at once then all Gridview events occur? And not just GridViews, any control - but mostly page and GridView interaction.
When an ASP.NET page runs, the page goes through a life cycle in which it performs a series of processing steps. These include initialization, instantiating controls, restoring and maintaining state, running event handler code, and rendering.
The page Load event occurs first followed by the Load event for all controls (recursively). This is where most coding is done, so you want to check the IsPostBack property to avoid unnecessary work. LoadComplete: This event is fired when the page is completely loaded.
Init for every control on the Web Form The 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.
The Asp.net page life cycle includes the events preinit, Init, InitComplete, OnPreLoad, Load, LoadComplete, OnPreRender, and OnSaveStateComplete. These events take place whenever an ASP.NET page is requested.
If you're refering to the Page Life Cycle, you can find an overview here.
Summary of the life cycle is:
Page request
The page request occurs before the page life cycle begins. When the page is requested by a user, ASP.NET determines whether the page needs to be parsed and compiled (therefore beginning the life of a page), or whether a cached version of the page can be sent in response without running the page.
Start
In the start step, page properties such as Request and Response are set. At this stage, the page also determines whether the request is a postback or a new request and sets the IsPostBack property. Additionally, during the start step, the page's UICulture property is set.
Page initialization
During page initialization, controls on the page are available and each control's UniqueID property is set. Any themes are also applied to the page. 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.
Load
During load, if the current request is a postback, control properties are loaded with information recovered from view state and control state.
Validation
During validation, the Validate method of all validator controls is called, which sets the IsValid property of individual validator controls and of the page.
Postback event handling
If the request is a postback, any event handlers are called.
Rendering
Before rendering, view state is saved for the page and all controls. During the rendering phase, the page calls the Render method for each control, providing a text writer that writes its output to the OutputStream of the page's Response property.
Unload
Unload is called after the page has been fully rendered, sent to the client, and is ready to be discarded. At this point, page properties such as Response and Request are unloaded and any cleanup is performed.
As for the GridView events, they can be found here.
protected void GridView1_Load(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("GridView1_Load");
}
protected void GridView1_DataBinding(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("GridView1_DataBinding");
}
protected void GridView1_DataBound(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("GridView1_DataBound");
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
System.Diagnostics.Debug.WriteLine("GridView1_RowDataBound");
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With