PC Review


Reply
Thread Tools Rate Thread

ASP.NET 2005 CompositeControl Class - Nesting

 
 
Electric Co.
Guest
Posts: n/a
 
      28th Aug 2006
Hello,

I have two questions:

1.) How successfully does ASP.NET 2005 handle custom composite controls
nested inside
of custom composite controls?

For example:

Cntrl_A inherits from CompositeControl and does all sorts of neat stuff

Cntrl_B also inherits from CompositeControl and has two instances of
Cntrl_A

ie.

Protected Overrides Sub CreateChildControls()
Controls.Clear()

cntrl_A1= New Cntrl_A()
cntrl_A1.ID = "FirstControl"
cntrl_A2= New Cntrl_A()
cntrl_A2.ID = "SecondControl"

Me.Controls.Add(cntrl_A1)
Me.Controls.Add(cntrl_A2.)
End Sub

Thinking MicroSoft may have troubles with postbacks and validations
if controls get nested too deep. If not then I might need to upgrade.

2.) Could I create a custom server control in 2005 in order to leverage
the CompositeControl base class and then use that control in 2003?
(fingers crossed but guessing aboslutely not)

Thanx in advance.

 
Reply With Quote
 
 
 
 
Marina Levit [MVP]
Guest
Posts: n/a
 
      28th Aug 2006
1. I know of no restrictions in terms of controls. I would be surprised if
there were. If the ancestor for all the controls is implemented correctly,
then it shouldn't matter how many levels you nest
2. No. You cannot run code compiled under 2.0 on an earlier version of .NET.
It would be expecting the earlier version of .NET to be 'future compatible'
with version of .NET before they even came out. Not possible.

"Electric Co." <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hello,
>
> I have two questions:
>
> 1.) How successfully does ASP.NET 2005 handle custom composite controls
> nested inside
> of custom composite controls?
>
> For example:
>
> Cntrl_A inherits from CompositeControl and does all sorts of neat stuff
>
> Cntrl_B also inherits from CompositeControl and has two instances of
> Cntrl_A
>
> ie.
>
> Protected Overrides Sub CreateChildControls()
> Controls.Clear()
>
> cntrl_A1= New Cntrl_A()
> cntrl_A1.ID = "FirstControl"
> cntrl_A2= New Cntrl_A()
> cntrl_A2.ID = "SecondControl"
>
> Me.Controls.Add(cntrl_A1)
> Me.Controls.Add(cntrl_A2.)
> End Sub
>
> Thinking MicroSoft may have troubles with postbacks and validations
> if controls get nested too deep. If not then I might need to upgrade.
>
> 2.) Could I create a custom server control in 2005 in order to leverage
> the CompositeControl base class and then use that control in 2003?
> (fingers crossed but guessing aboslutely not)
>
> Thanx in advance.
>



 
Reply With Quote
 
Teemu Keiski
Guest
Posts: n/a
 
      28th Aug 2006
Hello,

1) Remember that when working with current set of controls like databound
etc ones, you already have deeper control hierarchies. Does it work or not
depends really on what the control does, basically Framework doesn't cause
any limits to this.

2) No. CompositeControl base class is v2.0 specific. However, nothing
prevents you from writing CompsoiteControl class in v1.x. It's essentially
control which

- implements INamingContainer interface
- overrides Controls property with call to EnsureChildControls and then
returns base.Controls
- creates and adds child controls in CreateChlidControls
- has CompositeControlDesigner associated (which also is v2-specific but can
be written in v1.x) , see example here:
http://www.dotnetmonster.com/Uwe/For...rols-or-Render


--
Teemu Keiski
ASP.NET MVP, AspInsider
Finland, EU
http://blogs.aspadvice.com/joteke

"Electric Co." <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hello,
>
> I have two questions:
>
> 1.) How successfully does ASP.NET 2005 handle custom composite controls
> nested inside
> of custom composite controls?
>
> For example:
>
> Cntrl_A inherits from CompositeControl and does all sorts of neat stuff
>
> Cntrl_B also inherits from CompositeControl and has two instances of
> Cntrl_A
>
> ie.
>
> Protected Overrides Sub CreateChildControls()
> Controls.Clear()
>
> cntrl_A1= New Cntrl_A()
> cntrl_A1.ID = "FirstControl"
> cntrl_A2= New Cntrl_A()
> cntrl_A2.ID = "SecondControl"
>
> Me.Controls.Add(cntrl_A1)
> Me.Controls.Add(cntrl_A2.)
> End Sub
>
> Thinking MicroSoft may have troubles with postbacks and validations
> if controls get nested too deep. If not then I might need to upgrade.
>
> 2.) Could I create a custom server control in 2005 in order to leverage
> the CompositeControl base class and then use that control in 2003?
> (fingers crossed but guessing aboslutely not)
>
> Thanx in advance.
>



 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Nesting SQL Server 2005 transactions in VB.NET BobRoyAce Microsoft VB .NET 2 10th Aug 2008 04:20 AM
How to create a CLR DLL for Sql Server 2005? Is it just any .net class library that you can load into Sql Server 2005 or is there some special project type that I need to start with? DR Microsoft Dot NET Framework 2 31st Oct 2007 01:13 AM
How to create a CLR DLL for Sql Server 2005? Is it just any .net class library that you can load into Sql Server 2005 or is there some special project type that I need to start with? DR Microsoft VB .NET 3 23rd Oct 2007 11:49 PM
problems using CompositeControl base class Steve Richter Microsoft ASP .NET 0 2nd Jun 2007 04:52 AM
Re: CompositeControl class failing to register postback Mantorok Microsoft ASP .NET 0 22nd Jun 2006 09:47 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 11:24 AM.