Hey Griff,
There's a lot new in ASP.NET 2.0, but when it comes to Composite
Controls I'd say it's not so much "new" but "enhanced". The
CompositeControl and CompisiteDataBoundControl are good examples- these
just wrap up a set of existing functionality you'd have to write
manually in 1.1. The biggest different is that you get out of the box
design time functionality with the CompositeControl class, which is
something that was a pain in 1.1.
Khotari's book will give you a great understanding of the Page Life
Cycle, the Loading PostBack Data, handling PostBack Events, and
creating the control tree for composite controls. All of these three
things have changed little in 2.0- (there are more events in the page
life cycle).
The two articles you sent really take the same approach, which is
implementing CreateChildControls() method to build the control tree.
Espisito's article talks about databound composite controls and
handling postbacks- this is covered in Khotari's book with essentially
the same approach (minus the v2 help you automatically get with
CompositeDataBoundControl). Using the Render() method is faster but
provides your end user with a burden of not leveraging existing ASP.NET
controls for development (like the textbox, linkbutton, etc.). In the
long term you could end up writing a lot of ad-hoc html in the render
method and box yourself into a maintanence nightmare with property and
if statement sprawl.
Either way, my point is Khotari's book will give you a great
understanding of how ASP.NET works. With it you'll be able to
understand what's going on in 2.0 a lot better (like those articles).
I've only glanced at 2.0 books and nothing's really jumped out as more
informative, and I haven't had to relearn anything for 2.0 that I
learned in 1.1. Don't think somethings better because it has a new
coat of paint!
Michael Hamrah