Response.Clear() doesn't clear

  • Thread starter Thread starter David
  • Start date Start date
D

David

When I use Response.Clear() it doesn't seem to have an effect. The original
aspx page code remains. I have tried creating test projects in both VS 2005 &
2008, where I just add a new aspx page and place in the Page_Load() event
Response.Clear(), but nothing is cleared out. I have tried various ways to
get the page to clear, including the code below:

protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "text/html";
Response.Clear();
Response.BufferOutput = true;
Response.Write("<html><body>Testing</body></html>");
Response.Flush();
}

The page will have the <html><body>Testing</body></html> at the top of the
page's code file, but all of the original default aspx code will still be
there also. I have tried this with both ASP .NET 2.0 & 3.5 in VS 2008. I have
looked at a lot of examples on the Internet and have not seen anything else
mentioned that is necessary. Is there something else that I am missing?
 
At this stage of the page's lifecycle internal buffer with the HTML is empty,
it is filled in Render method. In order to make it work you'd have to call
Response.End();

protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "text/html";
Response.Clear();
Response.BufferOutput = true;
Response.Write("<html><body>Testing</body></html>");
Response.End();
}
 
I also find it most useful to set the Buffer in the page directive and note
in the codebehind. This way you don't have to worry about the timing of
things as it's possible to set the buffer too late in the event cycle.
 
Back
Top