Click here to Skip to main content
Rate this: bad
good
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 11-Dec-11 23:57pm

1 solution

Rate this: bad
good
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.
  Permalink  
v2

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

  Print Answers RSS
0 CPallini 365
1 Sergey Alexandrovich Kryukov 242
2 OriginalGriff 165
3 George Jonsson 159
4 Richard MacCutchan 110
0 OriginalGriff 6,344
1 Sergey Alexandrovich Kryukov 5,860
2 CPallini 5,135
3 George Jonsson 3,559
4 Gihan Liyanage 2,522


Advertise | Privacy | Mobile
Web03 | 2.8.140916.1 | Last Updated 12 Dec 2011
Copyright © CodeProject, 1999-2014
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