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