using System;
using System.IO;
//using System.IO.
using System.Web.UI;
/// <summary>
/// Public_AspxToHtml 的摘要说明
/// </summary>
public class Public_AspxToHtml
{
public Public_AspxToHtml()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
}
/// <summary>
/// AspxToHtml 的摘要说明。
/// </summary>
public class AspxToHtml
{
/// <summary>
/// Aspx文件url
/// </summary>
public string strUrl;
/// <summary>
/// 生成html文件的保存路径
/// </summary>
public string strSavePath;
/// <summary>
/// 生成html文件的文件名
/// </summary>
public string strSaveFile;
public AspxToHtml()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 将strUrl放到strSavePath目录下,保存为strSaveFile
/// </summary>
/// <returns>是否成功</returns>
public bool ExecAspxToHtml()
{
try
{
StringWriter strHTML = new StringWriter();
System.Web.UI.Page myPage = new Page(); //System.Web.UI.Page中有个Server对象,我们要利用一下它
myPage.Server.Execute(strUrl,strHTML); //将asp_net.aspx将在客户段显示的html内容读到了strHTML中
StreamWriter sw = new StreamWriter(strSavePath+strSaveFile,true,System.Text.Encoding.GetEncoding("GB2312"));
//新建一个文件Test.htm,文件格式为GB2312
sw.Write(strHTML.ToString());
//将strHTML中的字符写到Test.htm中
strHTML.Close();
//关闭StringWriter
sw.Close();
//关闭StreamWriter
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 将Url放到Path目录下,保存为FileName
/// </summary>
/// <param name="Url">aspx页面url</param>
/// <param name="Path">生成html文件的保存路径</param>
/// <param name="FileName">生成html文件的文件名</param>
/// <returns></returns>
public bool ExecAspxToHtml(string Url, string Path, string FileName)
{
try
{
StringWriter strHTML = new StringWriter();
System.Web.UI.Page myPage = new Page();
//System.Web.UI.Page中有个Server对象,我们要利用一下它
myPage.Server.Execute(Url, strHTML);
//将asp_net.aspx将在客户段显示的html内容读到了strHTML中
StreamWriter sw = new StreamWriter(Path + FileName, false, System.Text.Encoding.GetEncoding("GB2312"));
//新建一个文件Test.htm,文件格式为GB2312
sw.Write(strHTML.ToString());
//将strHTML中的字符写到Test.htm中
strHTML.Close();
//关闭StringWriter
sw.Close();
//关闭StreamWriter
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 将Url放到Path目录下,保存为FileName
/// </summary>
/// <param name="Url">aspx页面url</param>
/// <param name="FileName">生成html文件的保存路径文件名</param>
/// <returns></returns>
public bool ExecAspxToHtml(string Url, string pathFileName)
{
try
{
//System.Web.HttpContext.Current.Response.Write(Url + " <br>" + pathFileName);
//StringWriter strHTML = new StringWriter();
//System.Web.UI.Page myPage = new Page();
System.Web.UI.Page中有个Server对象,我们要利用一下它
//myPage.Server.Execute(Url, strHTML);
将asp_net.aspx将在客户段显示的html内容读到了strHTML中
//StreamWriter sw = new StreamWriter(pathFileName,false, System.Text.Encoding.GetEncoding("GB2312"));
新建一个文件Test.htm,文件格式为GB2312
//sw.Write(strHTML.ToString());
将strHTML中的字符写到Test.htm中
//strHTML.Close();
关闭StringWriter
//sw.Close();
关闭StreamWriter
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.HttpContext.Current.Server.Execute(Url, sw,true);
//判读时候存在,存在删除
if (File.Exists(pathFileName))
{
File.Delete(pathFileName);
}
//Response.Write(sw);
System.IO.StreamWriter objwrite = new System.IO.StreamWriter(pathFileName, false, System.Text.Encoding.UTF8);
objwrite.Write(sw);
objwrite.Flush();
objwrite.Close();
objwrite = null;
return true;
}
catch(Exception ee)
{
System.Web.HttpContext.Current.Response.Write("<br>"+ee.Message);
return false;
}
}
}