INFO: ASP.NET Page Framework Overview (305141)



The information in this article applies to:

  • Microsoft ASP.NET (included with the .NET Framework 1.1)
  • Microsoft ASP.NET (included with the .NET Framework) 1.0
  • Microsoft Visual Basic .NET (2003)
  • Microsoft Visual Basic .NET (2002)
  • Microsoft Visual C# .NET (2003)
  • Microsoft Visual C# .NET (2002)
  • Microsoft Visual J# .NET (2003)
  • Microsoft Visual J# .NET (2002)

This article was previously published under Q305141

SUMMARY

This article provides an introduction to the ASP.NET page framework.

For additional ASP.NET overviews, refer to the following Microsoft Knowledge Base article:

305140 INFO: ASP.NET Roadmap

MORE INFORMATION

The ASP.NET page framework is a scalable programming model that you can use on the server to dynamically generate Web pages. The ASP.NET page framework is the successor to Active Server Pages. This article address the following page framework topics:

Page Life Cycle

Because the page framework is a stateless a and disconnected model, every time a client requests an .aspx page, many things occur during the page processing to make the process appear seamless to the client. It is important for you to know and to understand this staged execution sequence when you work with ASP.NET.

For more information about the page life cycle, refer to the following .NET Framework Software Development Kit (SDK) documentation:

Page Events

During the life cycle of an ASP.NET page, a few standard events that are exposed from the Page object are used frequently. The ASP.NET page framework automatically connects to (or wires up) appropriate delegate instances at run time for these methods. This saves you from having to write the necessary "glue code." The following list presents the delegate instances that are wired up at run time in the order in which they are fired:
  • Page_Init: During this event, you can initialize values or connect any event handlers that you may have.
  • Page_Load: During this event, you can perform a series of actions to either create your ASP.NET page for the first time or respond to client-side events that result from a post. The page and control view state have been restored prior to this event. Use the IsPostBack page property to check whether this is the first time that the page is being processed. If it is the first time, perform data binding. Also, read and update control properties.
  • Page_DataBind: The DataBind event is raised when the DataBind method is called at the page level. If you call DataBind on individual controls, it only fires the DataBind event of the controls beneath it.
  • Page_PreRender: The PreRender event is fired just before the view state is saved and the controls are rendered. You can use this event to perform any last minute operations on your controls.
  • Page_Unload: After a page has finished rendering, the Page_Unload event fires. This event is a good place to perform final cleanup work. This includes items such as the cleanup of open database connections, discarding objects, or closing those files that are open.
The following list outlines the events that are non-deterministic:
  • Page_Error: If an unhandled exception occurs during page processing, the Error event fires. The Error event gives you an opportunity to gracefully handle errors.
  • Page_AbortTransaction: Transaction events are useful if you want to indicate whether a transaction succeeds or fails. This event is commonly used for shopping cart scenarios in which this event can indicate the success or failure of an order. This event fires when a transaction has been aborted.
  • Page_CommitTransaction: This event fires when a transaction has been committed successfully.
The following code samples illustrate a declaration for the Page_Load event.

Visual C# .NET and Visual J# .NET
public void Page_Load()
{
         if (!Page.IsPostback){
	      //Do something.
         }
}
				
Visual Basic .NET
Public Sub Page_Load()
        If Not Page.IsPostBack Then
             'Do something.
        End If
End Sub
				
For more information about the page events, refer to the following .NET Framework SDK documentation: For an overview of programming with these page events and server control events, refer to the following .NET Framework SDK documentation:

Page Directives

Page directives specify optional settings that the Page Compiler uses when it processes files. Page directives are located at the top of a page file and use the following syntax:
<%@ directive {attribute=value}* %>
				
ASP.NET pages support the following directives:
  • @ Page
  • @ Implements
  • @ Import
  • @ Register
  • @ Assembly
  • @ Reference
  • @ OutputCache
Each directive in turn supports one or more attribute-value pairs, which are not case-sensitive.

For more information about the page directives, refer to the following .NET Framework SDK documentation:

Inline Versus Code-Behind Programming Models

ASP.NET supports two modes of page development:
  • Page logic code that is written inside <script runat=server> blocks within an .aspx file and dynamically compiled the first time the page is requested on the server.
  • Page logic code that is written within an external class that is compiled prior to deployment on a server and linked "behind" the .aspx file at run time.
For additional information about inline and code-behind programming models, click the article number below to view the article in the Microsoft Knowledge Base:

303247 INFO: ASP.NET Code-Behind Model Overview


Modification Type:MajorLast Reviewed:1/19/2004
Keywords:kbHttpRuntime kbinfo kbWebForms KB305141