Microsoft Knowledge Base Email Alertz

(159402) - The Redirect method of the Response object operates by sending a header to the client. This header causes the client to look to another URL location specified in the header. Because a header must come at the beginning of a document, it is not possible...

Search KbAlertz

Advanced Search

Receive Microsoft Knowledge Base articles by E-Mail?

Every night we scan the Microsoft Knowledge Base. If technologies you're interested in are updated, we'll send you an e-mail. You only get one e-mail a day, and only when new articles are added.

Click here to create a
FREE account
Already have an account?
[Click here to Login]











Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks

Article ID: 159402 - Last Review: October 26, 2007 - Revision: 5.3

How to use Response Redirect in a server script

This article was previously published under Q159402

On This Page

SUMMARY

The Redirect method of the Response object operates by sending a header to the client. This header causes the client to look to another URL location specified in the header. Because a header must come at the beginning of a document, it is not possible to place the Redirect method in a document with HTML code preceding it.

To work around this behavior you can use the buffering capabilities of the Response object. In doing this you can output HTML code into the buffer until you reach a point where you use the Redirect method. If at this point you need to redirect to another page, you clear the buffer and then issue the Response.Redirect.

Example error


When trying to use the Response.Redirect method in a server-side script, the following error can occur when the page is accessed:
Response object error 'ASP 0156 : 80004005
Header Error
/<page.asp>, line 9
The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.

Example ASP

The following example Active Server Pages (ASP) code demonstrates this concept:
   <%
   ' Begin buffering the HTML
   ' Note this MUST happen before the initial <HTML> tag.
   Response.Buffer = True
   %>
   <HTML>
   <BODY>
   HTML code before potential redirect.<P>

   <%
   ' Change the following line as appropriate for your script
   If 1 = 1 Then
      Response.Clear
      Response.Redirect "filename.asp"
   End If
   %>
				

Code to be added

Use the following additional HTML code after the redirect:
   <%
   ' The following causes the HTML to actually be sent to the client.
   ' Up to this point, no HTML has actually been downloaded to the client
   ' browser.
   Response.End
   %>
   </BODY>
   </HTML>
				
The above example always redirects to the file named Filename.asp.

Note Setting the Response.Buffer = True is not necessary in Windows 2000 because it is True by default.


APPLIES TO
  • Microsoft Active Server Pages 4.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
Keywords: 
kbproductlink kbaspobj kbcode kbcodesnippet kberrmsg kbhowto kbhowtomaster kbsample kbscript KB159402
       

Community Feedback System

Very often, it takes hours to solve a problem. Very often, you've looked high and low, and have tried a lot of solutions. When you finally found it, chances are, it was because someone else helped you. Here's your chance to give back. Use our community feedback tool to let others know what worked for you and what didn't.

Please also understand that the community feedback system is not warranted to be correct, it's simply a system that we've built to let people try and help each other. If something in a feedback response doesn't make sense to you, or you're not comfortable making changes that the feedback talks about (like registry edits), please consult a professional.

Thank you for using kbAlertz.com Feedback System.

-- Scott Cate