ASP.NET Server Controls Hierarchy
The following illustration shows the namespaces that contain ASP.NET server controls.
ASP.NET server controls derive directly or indirectly from System.Web.UI.Control. This base class belongs to the System.Web.UI namespace, which contains the elements common to all ASP.NET server controls. Three commonly used controls belong to System.Web.UI — Page, UserControl, and LiteralControl. While Page is important because every ASP.NET page is compiled to a Page control by the ASP.NET page framework, control developers generally do not instantiate Page or derive from Page. Control developers also generally do not work with UserControl. User controls are developed using the same programming model as ASP.NET pages and are saved as .ascx text files. Control developers use LiteralControl extensively, as it allows text to be encapsulated as a control.
The ASP.NET server controls that provide a user interface are organized into two namespaces — System.Web.UI.HtmlControls and System.Web.UI.WebControls. The HTML server controls map directly to HTML elements, while the Web server controls are richer and more abstract.