Hi Bruce,
For a composite control every time you need access to a child control and
you can't assure it will be already created you need to first call
EnsureChildControls which will take care of calling CreateChildControls if
the childs don't exists. Its recommended that you override the Controls
property get accessor and add a call to EnsureChildControls there before
returning the controls collection thus making sure that every time anyone
tries to access the controls by using the controls collection that required
call is made. In the next version of ASP.NET, there is a new class named
"CompositeControl" that includes such overload of the Controls property. But
that won't be available till next year so I think you may opt for coding
your own ;-)
--
Victor Garcia Aprea
Microsoft MVP | ASP.NET
Looking for insights on ASP.NET? Read my blog:
http://obies.com/vga/blog.aspx To contact me remove 'NOSPAM'. Please post all questions to the newsgroup
[quoted text, click to view] "Bruce Parker" <anonymous@discussions.microsoft.com> wrote in message
news:CC704EE7-B352-49EC-BB5A-B939B220446E@microsoft.com...
> I have the following:
>
> A class called PageHeader that derives from WebControl. The PageHeader
class defines a property called ForwardButton As ForwardButtonProperties.
This ForwardButtonProperties class TypeConvertor is the
ExpandableObjectConvertor. I have defined several properties in the
ForwardButtonProperties class. These properties all have the
NotifyParentProperty(True)attribute.
[quoted text, click to view] >
> Some of these properties affect the generation of the html in the
CreateChildControls in the PageHeader class. When a property is changed
during the run-time, I want CreateChildControls to be called. The parent
property is not notified of the change. What am I missing?
[quoted text, click to view] >