Moving to Another Page

By default, when a page is submitted to the server, it is posted back to itself. However, many times in a web application you need to direct the application flow to another page, either directly or after posting to the server. There are four different ways to do this: HyperLink, Server.Transfer, Response.Redirect, and cross-page posting.


The HyperLink control navigates directly to the location contained in the NavigateUrl property of the control without a postback to the server. We covered this control in Chapter 4.


The Transfer method of the HttpServerUtility class takes the URL of an .aspx or .htm page (but not .asp) as a string argument and posts back to the server. Execution of the current page is terminated and execution of the new page begins. The original and target pages must be part of the same application. The target page can access public members of the control page, as we will demonstrate shortly.

Server.Transfer does not verify that the current user is authorized to view the target page. If this is important for your application, you will need to use one of the other techniques described here.

After the transfer to the new page, the browser will continue to display the URL of the original page in its address box and not the current page. The browser’s history does not reflect the transfer, so clicking the browser’s Back button might not yield the desired results. On the other hand, that may be exactly what you do want.

An overloaded ...

Get Programming ASP.NET 3.5, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.