Message from discussion
Capturing the HTML from an ASP.NET 2.0 page
From: "Ken Cox - Microsoft MVP" <BANSPAMkj...@hotmail.com>
References: <ei#pYm6LGHA.3064@TK2MSFTNGP10.phx.gbl> <#BEHIj8LGHA.3856@TK2MSFTNGP12.phx.gbl>
Subject: Re: Capturing the HTML from an ASP.NET 2.0 page
Date: Sun, 12 Feb 2006 08:42:44 -0800
Lines: 100
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
X-RFC2646: Format=Flowed; Response
Message-ID: <uDPQYN$LGHA.2528@TK2MSFTNGP12.phx.gbl>
Newsgroups: microsoft.public.dotnet.framework.aspnet
NNTP-Posting-Host: s0106000c41aa7eae.gv.shawcable.net 24.68.149.219
Path: g2news1.google.com!news2.google.com!news3.google.com!newshub.sdsu.edu!msrtrans!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP12.phx.gbl
Thanks Teemu! That's perfect!
Ken
"Teemu Keiski" <jot...@aspalliance.com> wrote in message
news:%23BEHIj8LGHA.3856@TK2MSFTNGP12.phx.gbl...
>I responded already on Forums, but here's for reference
> **
> Hello,
>
> it complained for me about event validation , so when disabling it with
> EnableEventValidation="False" helped. But, if you try it this way e.g
> moving the code to overridden Render method
>
> <%@ Page Language="VB" %>
>
> <script runat="server">
>
> Protected Overrides Sub Render(ByVal writer As
> System.Web.UI.HtmlTextWriter)
> Const OUTPUT_FILENAME As String = "renderedpage.html"
> Dim renderedOutput As StringBuilder = Nothing
> Dim strWriter As IO.StringWriter = Nothing
> Dim tWriter As HtmlTextWriter = Nothing
> Dim outputStream As IO.FileStream = Nothing
> Dim sWriter As IO.StreamWriter = Nothing
> Dim filename As String
> Dim nextPage As String
>
> Try
> 'create a HtmlTextWriter to use for rendering the page
> renderedOutput = New StringBuilder
> strWriter = New IO.StringWriter(renderedOutput)
> tWriter = New HtmlTextWriter(strWriter)
>
> MyBase.Render(tWriter)
>
> 'save the rendered output to a file
> filename = Server.MapPath(".") & "\" & OUTPUT_FILENAME
> outputStream = New IO.FileStream(filename, _
> IO.FileMode.Create)
> sWriter = New IO.StreamWriter(outputStream)
> sWriter.Write(renderedOutput.ToString())
> sWriter.Flush()
>
> ' redirect to another page
> ' NOTE: Continuing with the display of this page will result
> in the
> ' page being rendered a second time which will cause an
> exception
> ' to be thrown
> nextPage = "DisplayMessage.aspx?" & _
> "PageHeader=Information" & "&" & _
> "Message1=HTML Output Saved To " & OUTPUT_FILENAME
> 'Response.Redirect(nextPage)
> 'Response.Write(renderedOutput.ToString())
>
> writer.Write(renderedOutput.ToString())
> Finally
>
> 'clean up
> If (Not IsNothing(outputStream)) Then
> outputStream.Close()
> End If
>
> If (Not IsNothing(tWriter)) Then
> tWriter.Close()
> End If
>
> If (Not IsNothing(strWriter)) Then
> strWriter.Close()
> End If
> End Try
> End Sub
>
>
> </script>
>
> <html xmlns="http://www.w3.org/1999/xhtml" >
> <head id="Head1" runat="server">
> <title>Capture Page</title>
> </head>
> <body>
> <form id="form1" runat="server">
> <div>
> <asp:dropdownlist id="DropDownList1" runat="server">
> <asp:listitem>red</asp:listitem>
> <asp:listitem>blue</asp:listitem>
> <asp:listitem>green</asp:listitem>
> </asp:dropdownlist></div>
> </form>
> </body>
>
> Is that what you are looking for?
>
>
> Teemu
>