Click here to Skip to main content
11,483,983 members (65,656 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: C# ASP.NET .NET
Hi everybody,
there are tons of material on web about ASP.NET page life cycle. Even if I've reviewed it thoroughly there is still a simple questions that bothers me:

On the official MSDN[^] page its recommended to instantiate dynamic controls on Page_PreInit page event. Also they recommend to set control properties on Page_Init event. The question is, why not instantiating and setting control properties just in Page_Init event? Is there a scenario when splitting instantiation and property setting in 2 events is mandatory? The scenario when attaching a master page dynamically is clear (because the master page and content page are merged during the initialization stage of page processing, a master page must be assigned before Page_Init), I'm asking about simple page controls.
Thanks in advance!
Posted 12-Dec-11 0:57am

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

The controls go through a similar lifecycle as the page itself. You can't instantiate them just any time you like and then simply assume that they are just as far in their lifecycles as the page. Those recommendations probably are supposed to ensure that the controls are created as early as possible and then are properly initialized and ready to use by the time the page's Page_Init() is called.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 210
1 Frankie-C 165
2 Raje_ 155
3 OriginalGriff 142
4 Abhipal Singh 108
0 Sergey Alexandrovich Kryukov 8,489
1 OriginalGriff 7,943
2 Sascha Lefèvre 3,114
3 Maciej Los 2,581
4 Richard Deeming 2,370

Advertise | Privacy | Mobile
Web03 | 2.8.150520.1 | Last Updated 12 Dec 2011
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100