How to: Determine How ASP.NET Web Pages Were Invoked
It is often useful to know how an ASP.NET Web page was invoked: whether by an original request (an HTTP GET), a postback (an HTTP POST), a cross-page post from another page (an HTTP POST), or a transfer from another page using the Transfer method or using a callback from the browser. The Page class exposes a set of properties that you can use to determine how a page was invoked.
To determine how an ASP.NET Web page was invoked
Examine the values of the following Page class properties, and then refer the table to determine how the page was invoked:
The following table lists ways in which a page can be invoked and the corresponding Page property values.
Invocation method
Property values
Original request
IsPostBack is set to false.
PreviousPage is set to null (Nothing in Visual Basic).
IsCallback is set to false.
Postback
IsPostBack is set to true.
PreviousPage is set to null (Nothing in Visual Basic).
IsCallback is set to false.
Cross-page posting
IsPostBack is set to false.
PreviousPage references the source page.
IsCrossPagePostBack is set to true.
IsCallback is set to false.
Server transfer
IsPostBack is set to false.
PreviousPage references the source page.
IsCrossPagePostBack that is referenced in the PreviousPage is set to false.
IsCallback is set to false.
Callback
IsPostBack is set to false.
PreviousPage is set to null (Nothing in Visual Basic).
IsCallback is set to true.
Note
Be sure you test the IsCrossPagePostBack property of the page that is referenced in PreviousPage. The IsCrossPagePostBack property of the current page always returns false.
See Also
Concepts
Cross-Page Posting in ASP.NET Web Pages
Implementing Client Callbacks Programmatically Without Postbacks in ASP.NET Web Pages