System.Web.Configuration.PagesSection.AutoEventWireup Property

Gets or sets a value indicating whether events for ASP.NET pages are automatically connected to event-handling functions.

Syntax

[System.Configuration.ConfigurationProperty("autoEventWireup", DefaultValue=true)]
public bool AutoEventWireup { set; get; }

Value

Documentation for this section has not yet been entered.

Remarks

When PagesSection.AutoEventWireup is true, ASP.NET does not require that you explicitly bind event handlers to a page event such as System.Web.UI.Control.Load.

When PagesSection.AutoEventWireup is false, you must explicitly bind the event to a method. For example, if you have a Page_Load method in the code for a page, the method will be called in response to the System.Web.UI.Control.Load event only if you write code like that in the following example (notice the Handles statement in Visual Basic and the event handler code in C#):

Example

Partial Class AutoEventWireupExample
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, _
            ByVal e As System.EventArgs) Handles Me.Load
        Response.Write("Executing Page_Load")
    End Sub
End Class

Example

public partial class AutoEventWireupExample : System.Web.UI.Page
{ 
    protected void Page_Load(object sender, System.EventArgs e)
    {
        Response.Write("Executing Page_Load");
    }
    override protected void OnInit(EventArgs e)
    {
        this.Load += new System.EventHandler(this.Page_Load);
    }
}

When PagesSection.AutoEventWireup is true, handlers are automatically bound to events at run time based on their name and signature. For each event, ASP.NET searches for a method that is named according to the pattern Page_eventname, such as Page_Load or Page_Init. ASP.NET checks first for an overload that has the typical event-handler signature (that is, it specifies object and EventArgs parameters). If an event handler with this signature is not found, ASP.NET checks for an overload that has no parameters.

When PagesSection.AutoEventWireup is false, you must explicitly bind event handlers to events, as shown in the preceding example. In that case, the method names do not have to follow a pattern.

The default value is true if PagesSection.AutoEventWireup is not specified in the @ Page directive. Visual Studio automatically includes the attribute when it creates code-behind files. For ASP.NET pages written in C#, Visual Studio sets the value to true. For Visual Basic, Visual Studio sets the value to false because handlers are bound to events by using the Handles keyword, which is inserted automatically by Visual Studio when it generates an event handler. If you set PagesSection.AutoEventWireup to true, you can omit (or remove) the Handles keyword.

Do not set PagesSection.AutoEventWireup to true if performance is a key consideration. When automatic event wireup is enabled, ASP.NET must make between 15 and 30 tries to match events with methods.

Note the following about binding event handlers to events:

  • If you set PagesSection.AutoEventWireup to true, make sure that you do not also manually attach page event handlers to events. If you do, handlers might be called more than one time.

  • Automatic binding is performed only for page events, not for events for controls on the page.

  • As an alternative to binding events to handlers, you can override the Oneventname methods of the page or of controls.

Requirements

Namespace: System.Web.Configuration
Assembly: System.Web (in System.Web.dll)
Assembly Versions: 2.0.0.0
Since: .NET 2.0