What is the AutoEventWireup attribute in ASP.NET
In this article I will explain about AutoEventWireup attribute in ASP.NET
AutoEventWireup attribute in ASP.NET
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
The ASP.NET page framework supports an automatic way to associate page events and methods. If the AutoEventWireup attribute of the Page directive is set to true, the page framework calls page events automatically, specifically the Page_Init and Page_Load methods. In that case, no explicit Handles clause or delegate is needed.
AutoEventWireup is an attribute in Page directive.
AutoEventWireup is a Boolean attribute that indicates whether the ASP.NET pages events are auto-wired.
AutoEventWireup will have a value true or false. By default it is true.
There is no event or method associated with Page_Load. Those events whose inline event is not there but that should be executed, for that purposed AutoEventWireup="true".
Disadvantages of AutoEventWireup attribute
AutoEventWireup uses fixed naming convention for the events. Page events handlers have specific predictable names. This limits your flexibility in how you name event handlers.
If you do set AutoEventWireup to true, Visual Studio will generate code to bind the events and the page framework will automatically call events based on their names. This can result in the same event code being called twice when the page runs. As a consequence, you should always leave AutoEventWireup set to false when working in Visual Studio.
Another disadvantage is that performance is adversely affected, because ASP.NET searches for methods at run-time. For a Web site with high traffic volumes, the impact on performance could be significant.
AutoEventWireup="true" target is for page events only. In case of AutoEventWireup method are not case sensitive. (Page_Load or page_load both will work).
If AutoEventWireup="false" but still you want to executed Page event (Page_Load). In this you have to explicitly code for it.
<form id="form1" runat="server" onload="Page_Load">
I hope that this article would have helped you in understanding AutoEventWireup attribute in ASP.NET. Please share it if you know more about this attribute. Your feedback and constructive contributions are welcome.