In ASP .NET 1.x, the default value for the AutoEventWireup attribute of the Page directive was True, however, Visual Studio .NET did set it explicitly to false and hard wired the event handlers to the events in code. That led many people to just ignore that attribute.
On the Beta 1 and subsequent CTPs of Visual Studio 2005, there was no explicit setting to such attribute on the web pages, but the IDE was still hardwiring the event handlers to the events. Many people believed that it was a bug on the Framework, as it was common to get your event handlers executing twice, one due to the auto wiring and a second due to the hard wiring.
I personally thought that it was due to the new web developer IDE being based on the WebMatrix and eventually it would go back to the old behavior of setting it to false.
Now we got Beta 2 and Microsoft did change the IDE, but not in the way I was expecting. Instead of setting the AutoEventWireup attribute, it stopped hardwiring the event handlers. Now what you get from the IDE when creating a new ASP.NET web form is a basic ASP .NET code and a very simple code “beside” file with just the class definition and the Page_Load event handler.
I personally don’t like the auto event wiring, as it is not flexible. You can’t create a single event handler and reuse it for the same event of multiple objects, for example, or maybe create it and use for multiple events of the same object, or maybe create it and use for many events and objects as you fancy. It also just doesn’t sound right to have the runtime deciding which method is the event handler only by concatenating the name of the object and the name of the event… Obviously, I will keep hardwiring event handlers until someone proves me the advantages of not doing so. :-)