如何从ASP.NET Web窗体应用程序生成静态HTML页面

时间:2014-09-12 12:09:42

标签: html asp.net visual-studio-2013

我有一个使用Visual Studio 2013制作的Web窗体应用程序解决方案,我想从中生成静态HTML页面。有没有人知道一个好工具或脚本,并有这方面的经验?

我尝试使用Pretzel,但它不支持ASP。

2 个答案:

答案 0 :(得分:1)

您可以使用HtmlTextWriter生成HTML页面:

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();
}

答案 1 :(得分:0)

以下是我使用的代码,它运行正常:

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);