autoeventwireup属性是什么?用途及其实现原理解析

在ASP.NET控件编程的时候,autoeventwireup可能是新手程序员深受其害的地方之一。那么,什么是autoeventwireup,我们该如何使用它?首先定义autoeventwireup属性:

其定义为:“获取或设置一个值,指定 ASP.NET 是否自动调用指定控件的事件处理程序。” 简单的说在 ASP.NET WebForm Page 中,如果该属性值为 true,则不必再显式的在 Page 或 UserControl 的代码中写类似“Button1_Click”这样的事件绑定代码, ASP.NET会自动的完成这个过程。

在Page类中,父类声明的autoeventwireup默认为true。

实现原理:编译器会在代码中寻找相同的标识符,将它们绑定到相同的方法。这些标识符包括事件委托,还有方法签名和命名上下文。

从上面的定义中,我们可以看出,autoeventwireup其实就是ASP.NET提供,自动绑定事件的一个能力。如果开启autoeventwireup属性,那么在 Page 或 UserControl 页面指定的事件处理程序,即使没有明确绑定到任何的页面控件,仍然会被自动绑定。

相关信息