views:

211

answers:

3

I have a UserControl inheriting from another, and my question is simple. Does the control's page load fire first, or does the base class page load fire first?

A: 

The control's Page_Load should fire first, I believe. Other than the Page_Init event, all other initiation events occur up the control hierarchy.

Edit: I'm wrong up there. The page fires its load event then recursively calls it on child controls, which recursively call it on its child controls, and so on. My bad...

Josh
A: 

If you are talking about an actual inheritance, and not control composition, then all the standard Object Oriented rules apply.

Because these are not separate object, there is only one Load event on your control, and there can be only one Page_Load method, unless you explicitly hide it using the new modifier. So, in essence, there is no difference between the Child page load, and the Parent page load... they are one in the same.

Josh
+2  A: 

"The Page calls the OnLoad event method on the Page, then recursively does the same for each child control, which does the same for each of its child controls until the page and all controls are loaded."

From this link: http://msdn.microsoft.com/en-us/library/ms178472.aspx

So to answer plainly, the Page_Load event is called before the load event in user controls

Dylan Vester