my server seems to be sometimes returning wrong html to webclients
im using asp.net 4 with VS 2012. debugging on IIS Express.
in order to debug this issue, id li
You can get the HTML (and modify it) by overriding Render on the page / site master.
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
using (System.IO.StreamWriter sw = new System.IO.StreamWriter(ms))
{
HtmlTextWriter tw = new HtmlTextWriter(sw);
base.Render(tw);
tw.Flush();
ms.Position = 0;
using (System.IO.StreamReader sr = new System.IO.StreamReader(ms))
{
string yourHTML = sr.ReadToEnd();
// do stuff with yourHTML
Response.Write(yourHTML);
sr.Close();
tw.Dispose();
}
}
}
}
in vb
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
Using ms As New System.IO.MemoryStream()
Using sw As New System.IO.StreamWriter(ms)
Dim tw As HtmlTextWriter = New HtmlTextWriter(sw)
MyBase.Render(tw)
tw.Flush()
ms.Position = 0
Using sr As New System.IO.StreamReader(ms)
Dim yourHTML As String = sr.ReadToEnd()
'do stuff with yourHTML'
Response.Write(yourHTML)
sr.Close()
tw.Dispose()
End Using
End Using
End Using
End Sub
this does not answer my original question technically, but it does solve the issue i was having
the problem was that the html wasnt rendering correctly
i now remembered that aspx has adaptive rendering, so i fgured the useragent used in the request might be to blame
i changed my code to:
Dim myReq As HttpWebRequest = WebRequest.Create(MailUrl)
myReq.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1"
Dim resp As HttpWebResponse = myReq.GetResponse
Dim stream = resp.GetResponseStream
Dim rdr = New StreamReader(stream)
Dim BodyText = rdr.ReadToEnd
and now the html is rendering in correct modern Html5/Css3 markup
i appreciate your help and guidance.