#region 生成静态页面
/// <summary>
/// 生成静态页面成静态 news1001.html ,动
/// </summary>
/// <param name="sourcePage">动态文件</param>
/// <param name="saveDir">文件夹名</param>
/// <param name="htmlName">生成的文件</param>
/// <returns></returns>
public bool BuildHtml(string sourcePage, string saveDir, string htmlName)
{
try
{
StringWriter myWrite = new StringWriter();
System.Web.UI.Page myPage = new Page();
myPage.Server.Execute(sourcePage, myWrite);//将ASPX动态页面将要在客户端显示的html内容读到了myWrite中 news.aspx?id=1001 生
if (!System.IO.Directory.Exists(Server.MapPath(saveDir)))
{
System.IO.Directory.CreateDirectory(Server.MapPath(saveDir));
}
if (System.IO.File.Exists(Server.MapPath(saveDir) + "//" + htmlName))
{//将原来的页面文件删除 news.aspx?id=1001 生
System.IO.File.Delete(Server.MapPath(saveDir) + "//" + htmlName);
}
StreamWriter sw = new StreamWriter(Server.MapPath(saveDir) + "//" + htmlName, true, System.Text.Encoding.GetEncoding("gb2312")); //新建一个文件,文件格式为GB2312p.net的动态页面生成静态页面,比如将
string w = myWrite.ToString();
sw.Write(myWrite.ToString());//将strHTML中的字符写到目标静态页面文件中
myWrite.Close();//关闭StringWriter news.aspx?id=1001 生
sw.Close();//关闭StreamWriter
return true;
}
catch (Exception ee)
{
return false;
}
}
#endregion
本文介绍了一种将动态网页转换为静态HTML的方法,包括创建临时文件、执行动态源页并捕获输出、创建必要的目录结构、删除旧的静态文件以及保存新的静态页面。
836

被折叠的 条评论
为什么被折叠?



