解决方法
ASP.NET有一个名为“AutoEventWireup”的功能 – 此功能允许您创建具有EventHandler签名的方法,名称为Page_Load,运行时将将事件从父页面连接到类中的方法.运行时基本上是这样做的:
this.Load += this.Page_Load;
现在最好禁用AutoEventWireup,并且在OnInit方法页面中自己创建这些事件处理程序,或者简单地覆盖父页面的OnLoad方法.
编辑(作为对OP的评论的回应):此过程不包括按钮点击等,但过程是相似的.
为了像MyButton_Click这样的方法在没有显式创建事件处理程序的情况下工作,您必须在aspx文件中的控件上设置OnClick属性,如下所示:
<asp:button id="MyButton" onClick="MyButton_Click" runat="server" />
这将提示ASP.NET为您创建按钮单击代理,并将其附加到按钮的Click事件.