Page_Load不是一个虚拟方法。什么调用此方法?它是如何调用的?是反射还是其他技术?另外,有多少事件是以这种方式处理的?
另外,在重载的OnLoad或Page_Load中处理事情是更可取的吗?它们有什么不同?
发布于 2009-09-29 20:11:03
页面层次结构上某处的OnLoad方法(通过+=)调用分配给Load的事件。
命名Page_Load只是一种约定。在AutoEventWireUp模式下(即没有显式声明的事件处理程序),此约定用于通过事件处理程序的名称查找它们。
如果有可用的.Net1,则可以看到设计器如何向页面的OnInit()添加代码,以添加页面的所有组件并设置
this.Load += new System.EventHandler(this.Page_Load);
.Net2仍然这样做,但在一个单独的文件中,该文件隐藏在Windows\Microsoft.Net\Framework\v*\Temporary ASP.Net文件下的某个地方。
我发现ASP.Net页面生命周期中的this chart非常有用。
发布于 2009-09-29 19:52:33
在页面指令中,它说: Autoeventwireup="true“
这就是发生的事情,它自动连接到Load事件……(以及其他一些事件,如PreInit、Init、Unload等)
https://stackoverflow.com/questions/1494543
复制相似问题