Composite controls are controls that combine multiple controls together to form a new reusable control. For example, a simple composite control could consist of both a Label control and a TextBox control.
You can use UserControls (.ascx) files to create some quick composite controls. You can also create composite controls as custom server controls that you can add to your Visual Studio Toolbox. For creating custom server controls, create a new class that inherits from the CompositeControl base class. This is the class to use for creating custom composite controls. Override the CreateChildControls method to create the user interface. If any of your properties or methods require that the composite interface be built before the property or method call runs, put a method call to EnsureChildControls above it.
Be sure to check out Scott Guthrie's blog article title Building Composite Controls in ASP.NET.
For a complete reference on developing custom server controls, Dino Esposito, has a series of articles published on MSDN that gives a thorough explanation on all aspects of custom server controls' development. These articles are recommended for reading for any developer considering developing such controls. In this series you will learn all about developing controls from the ground up, adding callback capabilities, building composite controls, data-bound controls, deriving new controls from existing ones, and much more. Here is a link to the table of contents of the aforementioned series: Creating Controls .
External Links
The ASP.NET Wiki was started by Scott Hanselman in February of 2008. The idea is that folks spend a lot of time trolling the blogs, googlinglive-searching for answers to common "How To" questions. There's piles of fantastic community-created and MSFT-created content out there, but if it's not found by a search engine and the right combination of keywords, it's often lost.
The ASP.NET Wiki articles moved to CodeProject in October 2013 and will live on, loved, protected and updated by the community.