response.redirect. You cannot use this call if the page has been written to and the viewer has seen data. (dont ask me why!!)
Response.Redirect uses an HTTP HEADER. If you've sent the viewer data (most likely html), then you've already sent them all the http headers, and can't send them another header. By definition, headers have to come first. Response.Buffer allows you to not send anything to the viewer until you say to or your script ends.