HOWTO: How To Use Response.Redirect in a Server ScriptID: Q159402
|
When trying to use the Response.Redirect method in a server-side script, the following error can occur when the page is accessed:
Response Headers already written to client.
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.
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
%>
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.
For the latest Knowledge Base articles and other support information on Visual InterDev and Active Server Pages, see the following page on the Microsoft Technical Support site:
http://support.microsoft.com/support/vinterdev/
Additional query words: 1.00 kbdsi
Keywords : kbcode kbsample kbASP kbASPObj kbScript kbGrpASP
Version : winnt:
Platform : winnt
Issue type : kbhowto
Last Reviewed: May 27, 1999