以下内容搜索了网上很多人成果,我自己做了整理
一:生成HTML字符串
public string GetUrltoHtml(string Url)
{
string html = "";
Uri uri = new Uri(Url);
System.Net.HttpWebRequest wReq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(uri);
System.Net.HttpWebResponse wResp = (System.Net.HttpWebResponse)wReq.GetResponse();
using (System.IO.Stream respStream = wResp.GetResponseStream())
{
using (System.IO.StreamReader reader = new System.IO.StreamReader(respStream, System.Text.Encoding.GetEncoding("UTF-8")))
{
html = reader.ReadToEnd();
}
}
return html;
}
二:生成html文件,以id生成文件名
public void CreateHMTLFile(int newsId)
{
string pathFile = Server.MapPath("~/" + newsId+ ".html");
string html = getUrltoHtml("http://" + HttpContext.Current.Request.UrlReferrer.Host + ":" + HttpContext.Current.Request.ServerVariables["SERVER_PORT"] + "/NewsShow.aspx?newId=" + newsId);
if (!File.Exists(pathFile))
{
using (FileStream fs = File.Create(pathFile))
{
using (StreamWriter sw = new StreamWriter(fs))
{
sw.Write(html);
}
}
}
else
{
using (StreamWriter sw = new StreamWriter(pathFile))
{
sw.Write(html);
}
}
}
三:NewsShow.aspx文件是新闻详细页面根据newId生成新闻的详细信息。
另外还有一些方法,模板页及用iframe嵌入,都是不错的选择,以后再写这些方面的