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.
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.
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.
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.
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.
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.
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.
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.
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.