.Net生成HTML的三种方法

一、在服务器上指定aspx网页,生成html静态页

public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
StreamWriter sw = new StreamWriter(Server.MapPath("静态页1.htm"), false, System.Text.Encoding.GetEncoding("gb2312"));
Server.Execute("Default3.aspx", sw);
sw.Close();
}
}
}

二、在服务器上执行aspx网页时在page_render事件里将本页面生成html静态页

protected override void Render(HtmlTextWriter writer)
{
StringWriter html = new StringWriter();
System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);
base.Render(tw);
System.IO.StreamWriter sw;
sw = new System.IO.StreamWriter(Server.MapPath("静态页2.htm"), false, System.Text.Encoding.Default);
sw.Write(html.ToString());
sw.Close();
tw.Close();
Response.Write(html.ToString());
}

三、从指定连接获取源代码生成html静态页

代码

public partial class Default4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string pageurl = "http://www.baidu.com";
WebRequest request = WebRequest.Create(pageurl);
WebResponse response = request.GetResponse();
Stream resstream = response.GetResponseStream();
StreamReader sr = new StreamReader(resstream, System.Text.Encoding.Default);
string contenthtml = sr.ReadToEnd();
resstream.Close();
sr.Close(); //写入文件
System.IO.StreamWriter sw;
sw = new System.IO.StreamWriter(Server.MapPath("静态页生成方法3.htm"), false, System.Text.Encoding.Default);
sw.Write(contenthtml);
sw.Close();
}
}
}


posted @ 2013-11-06 20:26  武二郎  阅读(420)  评论(0编辑  收藏  举报