Home Articles FAQs XREF Games Software Instant Books BBS About FOLDOC RFCs Feedback Sitemap
irt.Org
#

Q5813 How do I redirect the browser to a different page?

You are here: irt.org | FAQ | ASP | Q5813 [ previous next ]

Redirect a page using Response.Redirect URL, where URL is a string (Example 1).

One caution: because ASP is a server-side technology, it can't just arbitrarily change the location of a page like client-side script can. It needs to communicate it's request through the HTTP page header.

This means that ASP has to wait until it 'knows' what kind of content it will be sending, in order to know what sort of header to write. This is why Example 2 will return an error.

Example 3 holds all output untill the content is decided one way or another.

<%
' EXAMPLE 1
' SIMPLE PAGE REDIRECTION:

Response.Redirect "http://www.irt.org/"

%>

<%
' EXAMPLE 2
' THIS RETURNS AN ERROR
Response.Write "Hello World"
Response.Redirect "http://www.irt.org/"

%>

<%
' EXAMPLE 3
' THIS SOLVES THE PROBLEM

' HOLD OUTPUT BACK FOR NOW:
Response.Buffer = True

' DECIDE ON CONTENT TYPE"
If sayHello = True Then
Response.Write "Hello World"
Else
Response.Redirect "http://www.irt.org/"
End If

' WRITE THE HTTP HEADER AND CONTENT:
Response.Flush

%>

JSulger responds:

Using IIS5.0 that comes with windows 2000 advanced server you do not need to set a response.buffer = true. This is only needed for IIS4.0 and lower.

Feedback on 'Q5813 How do I redirect the browser to a different page?'

©2018 Martin Webb