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 of the web server initiates a sequence of steps. These steps, from beginning to end, constitute the lifecycle of the page.
When a page is requested from the server, it is loaded into server memory, processed, sent to the user, and unloaded from memory. From one end of the lifecycle to the other, the goal of the page is to render appropriate 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 lifecycle 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. (Directives are described in the next section of this chapter. Chapter 7 discusses tracing in detail.)
Page itself is at the root of the tree
. All the named controls are included in the tree, referenced by control ID
. Static text, including whitespace
, and HTML tags, are represented in the tree as
LiteralControls. The order of controls in the tree is strictly hierarchical. Within a given level of the hierarchy, the controls ...