.net静态页生成方法

1.在服务器上指定aspx网页,生成html静态页1;
2.在服务器上执行aspx网页时在Page_Render事件里将本页面生成html静态页2;
3.从指定连接获取源代码生成html静态页3。其实这应该算网页源代码获取方式了。

1.在服务器上指定aspx网页,生成html静态页1
using system.net;
using system.io;
system.io.streamwriter sw = new system.io.streamwriter(server.mappath("静态页1.html"),false,system.text.encoding.getencoding("gb2312"));
system.web.httpcontext.current.server.execute("t.aspx", sw);sw.close();      

2.在服务器上执行aspx网页时在page_render事件里将本页面生成html静态页2。
protected override void render(htmltextwriter writer)
{     system.io.stringwriter html = new system.io.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());
}

3.从指定连接获取源代码生成html静态页1。其实这应该算网页源代码获取方式了。 //获得指定链接的源代码
string pageurl = "http://www.eshinfo.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();

…… 2.asp.net代码:   //---------------------读html模板面到stringbuilder对象里----   string[] format=new string[4];//定义和htmlyem标记数目一致的数组   StringBuilder htmltext=new StringBuilder();   try   {    using (StreamReader sr = new StreamReader("存放模板面的路径和面名"))    {   String line;   while ((line = sr.ReadLine()) != null)   {    htmltext.Append(line);   }   sr.Close();    }   }   catch   {    Response.Write("<Script>alert('读取文件错误')</Script>");   }   //---------------------给标记数组赋值------------   format[0]="background="bg.jpg"";//背景图片   format[1]= "#990099";//字体颜色   format[2]="150px";//字体大小   format[3]= "<marquee>生成的模板html面</marquee>";//文字说明   //----------替换htm里的标记为你想加的内容   for(int i=0;i<4;i )   {    htmltext.Replace("$htmlformat[" i "]",format[i]);   }   //----------生成htm文件------------------――   try   {    using(StreamWriter sw=new StreamWriter("存放路径和面名",false,System.Text.Encoding.GetEncoding("GB2312")))   {    sw.WriteLine(htmltext);    sw.Flush();    sw.Close();   }   }   catch   {   Response.Write ("The file could not be wirte:");   }   小结   用此方法可以方便的生成html文件。程序使用了是循环替换,因此对需替换大量元素的模板速度非常快。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值