Microsoft KB Archive/307903

= How To Use Response.Redirect in ASP.NET with Visual C# .NET =

Article ID: 307903

Article Last Modified on 8/28/2007

-

APPLIES TO


 * Microsoft ASP.NET 1.1
 * Microsoft ASP.NET 1.0
 * Microsoft Visual C# .NET 2003 Standard Edition
 * Microsoft Visual C# .NET 2002 Standard Edition

-



This article was previously published under Q307903



For a Microsoft Visual Basic .NET version of this article, see 312063.

IN THIS TASK
SUMMARY
 * Requirements
 * Create an ASP.NET Web Application Using Visual C# .NET
 * Description of the HttpResponse.Redirect Method
 * Create a Running Sample
 * Troubleshooting

REFERENCES



SUMMARY
This article demonstrates how to use the Redirect method of the HttpResponse class in ASP.NET applications to redirect a user to another URL.

back to the top

Requirements
The following list outlines the recommended hardware, software, network infrastructure, and service packs that you need:
 * Microsoft Windows 2000 or Microsoft Windows XP
 * Microsoft .NET Framework
 * Microsoft Internet Information Server (IIS)

back to the top

Create an ASP.NET Web Application Using Visual C# .NET
The following steps demonstrate how to create a new ASP.NET Web Application project named Redirector.
 * 1) Open Microsoft Visual Studio .NET.
 * 2) On the File menu, point to New, and then click Project.
 * 3) In the New Project dialog box, under Project Types, click Visual C# Projects. Under Templates, click ASP.NET Web Application.
 * 4) In the Location text box, type Redirector . If you are using the local server, you can leave the server name as http://localhost so that the Location text box is set to http://localhost/Redirector.

back to the top

Description of the HttpResponse.Redirect Method
The HttpResponse class implements two overloaded versions of the Redirect method.   The first overloaded method takes only one input parameter, which is the URL for the target location. This version is defined as follows: public void Redirect(string url);   The second overloaded method takes two input parameters: the URL for the target location, and a boolean value that indicates whether to stop running the current page. This version is defined as follows: public void Redirect(string url, bool endResponse); 

When you use the first overloaded version, the second overloaded version is called internally and is passed a boolean value of True for the second input parameter. For more information about the HttpResponse class and its related methods, refer to the REFERENCES section.

back to the top

Create a Running Sample
This sample demonstrates how to implement the Redirect method in the Page_Load event of a code-behind page. This code implements the first overloaded version that is listed in the previous section.  Follow these steps to add a new Web Form named Redirector_Test.aspx:  In Solution Explorer, right-click the project node, point to Add, and then click Add Web Form. Name the .aspx page Redirector_Test.aspx, and then click Open.</ol> </li> In the editor, right-click the .aspx page, and then click View Code. This opens the code-behind page in the editor.</li>  Add the following code to the Page_Load event: Response.Redirect(&quot;http://www.microsoft.com&quot;); </li> On the File menu, click Save All to save the Web Form and other associated project files.</li> In the Visual Studio .NET Integrated Development Environment (IDE), on the Build menu, click Build to build the project.</li> In Solution Explorer, right-click the page, and then click View in Browser to run the page. Notice that the page opens in the browser and automatically redirects you to the Microsoft Web site.</li></ol>

back to the top

Troubleshooting
 If you try to redirect after the headers are sent to the browser, you receive an HttpException exception. To resolve this problem, use the HttpResponse.BufferOutput property to buffer the output when appropriate. This property is set to True by default.

For more information about the HttpResponse.BufferOutput property, refer to the REFERENCES section.</li> You may receive a ThreadAbortException exception when you use this method.For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

312629 PRB: ThreadAbortException Occurs If You Use Response.End, Response.Redirect, or Server.Transfer

</li></ul>

back to the top

<div class="references_section">