You've covered a lot of territory today. You've learned about ASP.NET Web forms, and you've looked at both HTML server controls and Web controls. Not bad for a beginning chapter on Web forms! After today, you should be able use the rich functionality of these controls to build intricate user interfaces.
Web forms provide many benefits for ASP.NET pages. They let the server keep track of the UI: what the user is doing, and what each element should do. Through clever use of client-side script, ASP.NET pages post information about events to the server, which can handle them accordingly.
Web forms are made up of four types of server controls: HTML server controls, Web server controls, validation controls, and user controls. These controls have properties, methods, and events that allow the developer to manage applications intimately. Web forms also save the state of each control automatically.
You can turn any existing HTML element into an HTML server control by adding the runat="server" attribute. These controls are created on the server, and the appropriate HTML output is sent to the browser. Using HTML server controls allows you to manipulate the attributes of the HTML elements.
Web server controls are more complex than HTML server controls, and often they represent more involved user interface elements. These controls are created on the server and provide a plethora of properties and methods for you to manipulate.
Tomorrow you'll examine another type of server controls: user controls. These are custom-built controls that can encapsulate any piece of functionality you want. You're well on your way to building complex ASP.NET pages!