Refreshing web control after sub-property change

B

Bruce Parker

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.

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?
 
V

Victor Garcia Aprea [MVP]

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

Bruce Parker said:
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.
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?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top