The new coding model for ASP.NET makes it easy to manage presentation (using HTML) and executable codeby either mixing the code into the Web page or writing separate code-behind pages. In addition, ASP.NET provides new server-side control abstractions for managing the right kind of HTML depending on the browser on the other end of the connection (so that you do not have to fiddle with the raw control tags). Combining all of this is the basis of Web forms. The Web forms model of programming makes it feel like you are building a local user interface (as you might in Visual Basic). However, in reality, it is a widely distributed user interface generated almost entirely by pushing HTML from the server to the client browser. We see an example of a Web forms application in the next chapter. The Web forms programming model brings with it the notion of custom server-side controls.