A user sits at her browser and types in a URL. A web page appears, with text and images and buttons and so forth. She fills in a text box and clicks a button. What is going on behind the scenes?
Every request made to the web server initiates a sequence of steps. These steps, from beginning to end, constitute the life cycle of the page.
When a page is requested from the server, it is loaded into server memory, processed, sent to the browser, and unloaded from memory. From one end of the life cycle to the other, the goal of the page is to render HTML to the requesting browser. At each step, methods and events are available to let you override the default behavior or add your own programmatic enhancements.
To understand the life cycle of the page and its controls, you must recognize that the
Page class creates a hierarchical tree of all the controls on the page. All the components on the page, except for directives, are part of this control tree. You can see the control tree for any page by adding
trace="true" to the
Page directive. (We describe directives in the next section of this chapter. Chapter 19 discusses tracing in detail.)
Page class itself is at the root of the tree. All the named controls are included in the tree, and are referenced by control ID. Static text, including whitespace, newlines, and HTML tags, is represented in the tree as
LiteralControl objects. The order of controls in the tree is strictly hierarchical. Within a given level of the hierarchy, the ...