何时将事件关联到方法?例如,在 TextBox
控件上,我可以使用 OnTextChanged
事件。如果我使用此事件,则必须将此事件关联到服务器端方法。当我使用控件时,我会写下以下行。
OnTextChange = "TextBoxText_Changed"
但是对于像Page_Load()
这样的事件,我不需要将其与方法相关联,对吗?我的意思是我不会写这样的东西
OnPage_Load = "Page_Load"
为什么这两者有区别?
它们是不同类型的事件。OnTextChange 是一个可选事件,因为当文本更改时引发事件不是 TextBox 的自然行为。
但是,OnPage_Load事件是在任何 asp.net 网页的生命周期中总是发生的事情。因此,您不必隐式指定此类事件。
查看 ASP.NET 页面生命周期概述http://msdn.microsoft.com/en-us/library/ms178472.aspx
您创建的Page_Load()
方法不是overriding
基类Page
中定义的virtual
方法。
ASP.NET
具有AutoEventWireup
系统,它允许创建Page_Load等方法,并在运行时将事件从基页连接到您在类中定义的方法。与您明确声明this.Load += this.Page_Load;
相同。
Control
事件(如TextBox
(控件)的OnTextChange
不是隐式连接的。