.net中生成静态页面最简单的3种方法
注意要引用2个命名空间:using system.net; P&O8^ ~2q[?&U;|
using system.io; ^#sQ)d"|:N.?K
0k"Mn3H4~;} {&{4j'?h
first:在服务器上指定aspx网页,生成html静态页
public partial class Default2 : System.Web.UI.Page~W(h$NG%]8u7t7a B-]
{;PnBIGL;g
protected void Page_Load(object sender, EventArgs e)
{&xm/aC6J2Y
if (!IsPostBack)
{o7sbHo ^
StreamWriter sw = new StreamWriter(Server.MapPath("静态页1.htm"), false, System.Text.Encoding.GetEncoding("gb2312"));
Server.Execute("Default3.aspx", sw);
sw.Close();
}
}\!D*@3Gwve
}
second:在服务器上执行aspx网页时在page_render事件里将本页面生成html静态页
^o0Eu"vl%r8bai
public partial class Default3 : System.Web.UI.PageV9u^2y'P&I&R
{9B s)Z4iibz"{
protected void Page_Load(object sender, EventArgs e)` ~3^t,P
{[)a w EM%g
}
protected override void Render(HtmlTextWriter writer)5AJ4A(E Njz
{ Dh1no4bu
StringWriter html = new StringWriter();
System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);:uf{imh+i5g
base.Render(tw);
System.IO.StreamWriter sw;
sw = new System.IO.StreamWriter(Server.MapPath("静态页2.htm"), false, System.Text.Encoding.Default);qL WSc
sw.Write(html.ToString());
sw.Close();L|!pd8{J(I`
tw.Close();
Response.Write(html.ToString());
}4} u|%{$^*_ ss
}
.sS] Vp0m"?)~
third:从指定连接获取源代码生成html静态页 E5De7kt-A
0A[uQ$^*f5L*i4o
public partial class Default4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)-}Rz k(X;|Cp&ah/r3F(@
{w ^Ea7rYhT
if (!IsPostBack))x&Om+FUBf:b
{Hq%O'P S9L)r
string pageurl = "http://www.baidu.com";
WebRequest request = WebRequest.Create(pageurl);
WebResponse response = request.GetResponse();
Stream resstream = response.GetResponseStream();e#O'I5WuXu
StreamReader sr = new StreamReader(resstream, System.Text.Encoding.Default);/c Ax+c%W#G l]]
string contenthtml = sr.ReadToEnd();