ASP.NET offers two types of server control: HTML server controls and Web server controls. HTML server controls are simply regular web elements into which the runat=”server” attribute has been added and which have been assigned an ID. The runat=”server” attribute tells the ASP.NET engine that the control can respond to events and enables developers to create event handlers to control the behaviour of the controls.
Web server controls are more powerful than HTML controls because they are not linked to a specific HTML element and subject to its limitations. Some Web server controls are fairly simple but some of them are extremely complex. They offer black box functionality which would require fairly complex client-side and server-side coding to achieve if they did not exist. It is hardly surprising that server controls are the most frequently used component in ASP.NET.
The calendar control is one example of the advanced functionality offered by the ASP.NET Web server controls. The developer adds this to a web page as a single component and writes code to determine how it will respond to user interaction. At runtime, the necessary HTML markup is produced, saving the developer hours of coding and testing.
Another example of a sophisticated, time-saving Web server control is the FileUpload control. This allows you to add a browse and upload facility to any web page with very little coding. Similarly, the MultiView and View server controls are used in conjunction to control the visibility of different parts of a page. Each view contains different content and the end user is able to move through the views in the sequence specified by the developer.
Wizards are a very familiar feature in software programs and ASP.NET offers a Web server control that allows you to add this same functionality to a web page. The Wizard server control enables you to set up a series of steps which will be presented to your user in the order you specify. It is ideal for building forms where information is gathered in a series of steps rather than overwhelming the user with one single, huge form. The Wizard control is similar to the MultiView and View controls but offers a far greater degree of customization.