Text version of the video
Healthy diet is very important both for the body and mind. If you like Aarvi Kitchen recipes, please support by sharing, subscribing and liking our YouTube channel. Hope you can help.
All ASP .NET Text Articles
All ASP .NET Slides
All Dot Net and SQL Server Tutorials in English
All Dot Net and SQL Server Tutorials in Arabic
Let us understand the use of AutoEventWireup property with an example. Create an asp.net web application project.
A webform in asp.net raises several events in it's life cycle. The following are few of those events.
1. Page Load
2. Page Load Complete
3. Page PreRender
4. Page PreRenderComplete
Copy and paste the following code in WebForm1.aspx.cs
protected void Page_Load(object sender, EventArgs e)
protected void Page_LoadComplete(object sender, EventArgs e)
protected void Page_PreRender(object sender, EventArgs e)
protected void Page_PreRenderComplete(object sender, EventArgs e)
Now in WebForm1.aspx, set AutoEventWireuptrue
Run the application, and notice that the above event handler methods are executed as expected. We did not explicitly associate event handler methods to the events, but still the event handler methods are hooked up to their respective events. This is because we have AutoEventWireup attribute set to true.
Now, set AutoEventWireupfalse
Run the application, and notice that none of the above event handler methods are executed. This is because, when "AutoEventWireup" property is set to false, the event handler methods does not get automatically associated with their respective events. We have to explicitly associate them by overriding OnInit() method as shown below. Now, copy and paste the following code in webform1.aspx.cs
protected override void OnInit(EventArgs e)
this.Load + new EventHandler(Page_Load);
this.LoadComplete + new EventHandler(Page_LoadComplete);
this.PreRender + new EventHandler(Page_PreRender);
this.PreRenderComplete + new EventHandler(Page_PreRenderComplete);
Run the application, and notice that the above event handler methods are executed as expected.
Now, set AutoEventWireuptrue.
Run the application, and notice that every event handler method is executed twice. This is because,
1. Setting AutoEventWireuptrue, registered the event handler method's once, and
2. Overriding OnInit() method, has registered the same event handler method again
Important points to remember:
1. When AutoEventWireup is set to true and if you want the event handlers to be wired up with their events automatically, the event handler names should follow the standarad naming convention - Page_EventName.
2. AutoEventWireup can be set in the page directive or in web.config file.
3. To set autoEventWireup in web.config, use pages element.
4. If autoEventWireup, is set at both webform and web.config level, webform setting will take precedence over web.config setting.
So, AutoEventWireup is a boolean property which, when set to true, the page event handler methods are automatically wired with their respective events. If this property is set to false, then the event handler methods need to be explicitly associated with their respective events.