I have a Web Forms app solution made with Visual Studio 2013 and I want to generate static HTML pages from it. Does anyone know a good tool or maybe script and had experience with this?
I tried with Pretzel, but it does not support ASP.
I have a Web Forms app solution made with Visual Studio 2013 and I want to generate static HTML pages from it. Does anyone know a good tool or maybe script and had experience with this?
I tried with Pretzel, but it does not support ASP.
You can generate HTML pages using HtmlTextWriter as:
using (StreamWriter sw = new StreamWriter(Server.MapPath("fileName.html")))
using (HtmlTextWriter writer = new HtmlTextWriter(sw))
{
writer.RenderBeginTag(HtmlTextWriterTag.Html);
writer.RenderBeginTag(HtmlTextWriterTag.Head);
writer.Write("Head Contents");
writer.RenderEndTag();
writer.RenderBeginTag(HtmlTextWriterTag.Body);
writer.Write("Body Contents");
writer.RenderEndTag();
writer.RenderEndTag();
}
Here is the code I used and it is working fine:
Uri url = new Uri(serverPath + pageName);
WebClient wc = new WebClient();
wc.Headers.Add(HttpRequestHeader.Accept,"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
wc.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0");
string finalHTML = wc.DownloadString(url);
//change the asp extensions if there are any linking
finalHTML = finalHTML.Replace(".aspx", ".html");
//create HTML file
System.IO.File.WriteAllText(string.Format("{0}{1}", filePathSave, pageName), finalHTML);