ASP.NET继承UserControl,事件序列问题

时间:2010-01-11 01:36:50

标签: asp.net user-controls page-lifecycle

我有一个继承自另一个的UserControl,我的问题很简单。控件的页面是先加载,还是基类页面首先加载?

3 个答案:

答案 0 :(得分:2)

如果你在谈论的是实际的继承而不是控制组合,那么所有标准的面向对象规则都适用。

因为这些不是单独的对象,所以控件上只有一个Load事件,并且只能有一个Page_Load方法,除非您使用new修饰符明确隐藏它。因此,从本质上讲,子页面加载和父页面加载之间没有区别......它们是同一个。

答案 1 :(得分:2)

“Page调用页面上的OnLoad事件方法,然后递归地为每个子控件执行相同的操作,对每个子控件执行相同操作,直到加载页面和所有控件。”

从此链接:http://msdn.microsoft.com/en-us/library/ms178472.aspx

因此,为了明确回答,在用户控件中的load事件之前调用了Page_Load事件

答案 2 :(得分:0)

我相信控件的Page_Load应该先开火。除了Page_Init事件之外,所有其他启动事件都发生在控制层次结构中。

编辑:我错了。该页面将触发其加载事件,然后在子控件上递归调用它,子控件在子控件上递归调用它,依此类推。我的坏......