Developers are writing more and more of their applications to run over the Web and to be seen in a browser. The most popular technology for doing so is ASP.NET, and with AJAX (and now Silverlight), much of the application can be run client-side.
There are many obvious advantages to web-based applications. For one, you don't have to create as much of the user interface; you can let Internet Explorer and other browsers handle a lot of the work for you. Another advantage is that distribution of the application and of revisions is often faster, easier, and less expensive. Most important, a web application can be run on any platform by any user at any location, which is harder to do (though not impossible) with smart-client applications.
Another advantage of web applications is distributed processing (though smart-client applications are making inroads). With a web-based application, it is easy to provide server-side processing, and the Web provides standardized protocols (e.g., HTTP, HTML, and XML) to facilitate building n-tier applications.
The focus of this chapter is where ASP.NET and C# programming intersect: the creation of Web Forms and their event handlers. For intensive coverage of ASP.NET, please see either Programming ASP.NET by myself and Dan Hurwitz or Learning ASP.NET 2.0 with AJAX by Jesse Liberty et al. (both published by O'Reilly).
Web Forms bring Rapid Application Development (RAD) to the creation of web ...