ASP.NET web parts controls overview
ASP.NET Web Parts is an integrated set of controls for creating websites that enable end users to modify the content, appearance, and behavior of web pages directly from a browser. The modifications can be applied to all users on the site or to individual users. When users modify pages and controls, the settings can be saved to retain a user's personal preferences across future browser sessions, a feature called personalization. These Web Parts capabilities mean that developers can empower end users to personalize a web application dynamically, without developer or administrator intervention.
Web Parts are more complex than some of the other ASP.NET controls. For more information about Web Parts, see the following topics in the MSDN library:
One UI structural component required on every Web Parts page is the WebPartManager control. Although never visible, this control has the critical task of coordinating all Web Parts controls on a page. For example, it tracks all the individual Web Parts controls. It manages Web Parts zones (regions that contain Web Parts controls on a page), and which controls are in which zones. It also tracks and controls the different display modes a page can be in, such as browse, connect, edit, or catalog mode, and whether personalization changes apply to all users or to individual users. Finally, it initiates and tracks connections and communication between Web Parts controls.
The second kind of UI structural component is the zone. Zones act as layout managers on a Web Parts page. They contain and organize controls that derive from the Part class (part controls), and provide the ability to do modular page layout in either horizontal or vertical orientation. Zones also offer common and consistent UI elements (such as header and footer style, title, border style, action buttons, and so on) for each control they contain; these common elements are known as the chrome of a control. Several specialized types of zones are used in the different display modes and with various controls.
ASP.NET WebParts Structural Controls
WebPartManager control
Manages all Web Parts controls on a page. One (and only one) WebPartManager control is required for every Web Parts page.ProxyWebPartManager control
The ProxyWebPartManager control exists for the particular scenario of declaring static connections in content pages when a WebPartManager control has already been declared in a master page. For information about programming the ProxyWebPartManager control, see ProxyWebPartManager Class in the MSDN library.WebPartZone control
Contains and provides overall layout for the WebPart controls that compose the main UI of a page. Use this zone whenever you create pages with Web Parts controls. Pages can contain one or more zones.CatalogZone control
Contains CatalogPart controls (DeclarativeCatalogPart control, ImportCatalogPart control, and PageCatalogPart control). Use this zone to create a catalog of Web Parts controls from which users can select controls to add to a page. For information about programming the CatalogZone control, see CatalogZone Class in the MSDN library.ConnectionsZone control
Contains WebPartConnection controls, and provides a UI for managing connections. For information about programming the ConnectionsZone control, see ConnectionsZone Class in the MSDN library.EditorZone control
Contains EditorPart controls (AppearanceEditorPart control, LayoutEditorPart control, BehaviorEditorPart control, and PropertyGridEditorPart control). Use this zone to enable users to edit and personalize Web Parts controls on a page. For information about programming the EditorZone control, see EditorZone Class in the MSDN library.ImportCatalogPart control
Provides the user interface (UI) for a user to upload a control's definition file (an XML file defined by a schema, that contains state information) to a catalog, so that the control can be added to a web page. The controls themselves do not appear in this type of catalog; the catalog is just a mechanism for accessing the definition files for external controls so they can be added to a page. For information about programming the ImportCatalogPart control, see ImportCatalogPart Class in the MSDN library.
The Web Parts UI controls, all of which derive from the Part class, comprise the primary UI on a Web Parts page. The Web Parts control set is flexible and inclusive in the options it gives you for creating part controls. In addition to creating your own custom Web Parts controls, you can also use existing ASP.NET server controls, user controls, or custom server controls as Web Parts controls.
ASP.NET WebParts UI Controls
AppearanceEditorPart control
Provides an editor control that enables end users to edit several user interface (UI) properties on an associated WebPart control. For information about programming the AppearanceEditorPart control, see AppearanceEditorPart Class in the MSDN library.BehaviorEditorPart control
Provides an editor control that enables end users to change properties that affect the behavior of an associated WebPart or GenericWebPart control. For information about programming the BehaviorEditorPart control, see BehaviorEditorPart Class in the MSDN library.DeclarativeCatalogPart control
Provides a way for developers to add a set of server controls declaratively to a catalog on a web page. An advantage of using a DeclarativeCatalogPart control to create a catalog of server controls is that it does not require any coding. Page developers can work with the control entirely in the declarative (or page persistence) format, hence the name of the control. For information about programming the DeclarativeCatalogPart control, see DeclarativeCatalogPart Class in the MSDN library.LayoutEditorPart control
Provides an editor control that enables end users to edit several user interface (UI) properties on an associated WebPart control. For information about programming the LayoutEditorPart control, see LayoutEditorPart Class in the MSDN library.PageCatalogPart control
Contains controls that have been closed on a page, and that can be reopened (added back to the page) by users. The controls in this type of catalog are controls that were already added to the page from another source, and were then closed by a user. For information about programming the PageCatalogPart control, see PageCatalogPart Class in the MSDN library.PropertyGridEditorPart control
Provides an editor control that enables end users to edit several user interface (UI) properties on an associated WebPart control. For information about programming the PropertyGridEditorPart control, see PropertyGridEditorPart in the MSDN library.