Facade for 3rd party controls, CompositeControl?




Kind of a typical request from product management - they want to be able to
swap in different 3rd party controls depending on their whim and the day. In
this case, they want to support FreeTextBox and Cute Editor interchangably.

I've been trying to put together a container control derived from
CompositeControl to put a facade around the interaction. Depending on the
configuration, I want to put a FreeTextBox2 or a cute editor control into the

I overrode CreateChildControls() to set things up. That seems to get the
controls created and initialized, but not rendered.

I overrode my CompositeControl.Render() method to render the child, but
FreeTextBox2 (my first test case) has some member variables that are only
initialized in FreeTextBox2.OnPreRender(), which apparently hasn't been

I tried to override my CompositeControl.OnPreRender() but since
OnPreRender() is protected, I can't call my child FreeTextBox2.OnPreRender().

Am I just barking up the wrong tree here? What is the best way to make a
shell container just to hold another container of choice? How do you get the
controls in the collection hooked up to get all of the various calls in the
stages of execution?




Steven Cheng [MSFT]

Hi Mark,

Regarding on this issue, I've also seen your another thread posted in the
microsoft.public.dotnet.framework.aspnet newsgroup.

I've also added some inputs there. Welcome to continue followup there.


Steven Cheng
Microsoft MSDN Online Support Lead

Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

Get notification to my posts through email? Please refer to

This posting is provided "AS IS" with no warranties, and confers no rights.

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