OnLoad与Page_Load的差异分析

  记得最开始学习ASP.NET的时候,我们就被告知:Page_Load方法里面可以写页面加载的代码。

  于是我们就懵懵懂懂写了很长时间的Page_Load方法。最近回过头思考,为什么一个普通的方法,能被自动调用呢?于是就得知了AutoEventWireup属性。

  %@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.ASPx.cs" Inherits="Default" %

  一般我们新建页面的时候,AutoEventWireup就为true。MSDN的解释是:指示控件的事件是否自动匹配(Autowire)。如果启用事件自动匹配,则为 true;否则为 false。默认值为 true。那么我们先得到一个结论是:AutoEventWireup为true时,Page_Load、Page_Init之类的方法名能被自动调用。

  下面我们反编译源代码来看看里面是怎么回事。首先反编译所有页面的父类:Page类。

public class Page : TemplateControl, IHttpHandler { }

NET技术OnLoad与Page_Load的差异分析,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。