#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