Click here to Skip to main content
12,700,376 members (35,570 online)
Click here to Skip to main content
Add your own
alternative version


1 bookmarked

Composite Controls

, 11 Oct 2013 CPOL
Rate this:
Please Sign up or sign in to vote.
Composite controls are controls that combine multiple controls together to form a new reusable control.  For example, a simple composite control

Editorial Note

This articles was originally at but has now been given a new home on CodeProject. Editing rights for this article has been set at Bronze or above, so please go in and edit and update this article to keep it fresh and relevant.

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



This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

ASP.NET Community
United States United States
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.
Group type: Collaborative Group

769 members

You may also be interested in...


Comments and Discussions

-- There are no messages in this forum --
| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.170118.1 | Last Updated 11 Oct 2013
Article Copyright 2013 by ASP.NET Community
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid