Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法

 1  protected   override   void  Render(HtmlTextWriter writer)
 2      {
 3          System.IO.StringWriter html  =   new  System.IO.StringWriter();
 4          System.Web.UI.HtmlTextWriter tw  =   new  HtmlTextWriter(html);
 5           base .Render(tw);
 6          System.IO.StreamWriter sw  =   new  System.IO.StreamWriter(Server.MapPath( " index.html " ),  false , System.Text.Encoding.Default);
 7          sw.Write(html.ToString());
 8          sw.Close();
 9          tw.Close();
10          Response.Write( " 页面生成成功! " );
11      }
将以上上函数数加如到你要生成静太文件的页面里,
函数从载了,Render函数 作用是把页面的 html文本截下来,保存到文件里,
进一步的可以去看一下asp.net页面生命过程.
静态页面的生成
protected   override   void  Render(HtmlTextWriter writer) {
     StreamWriter r
= new  StreamWriter(Server.MapPath(StaticFileName),
           
false ,System.Text.Encoding.UTF8);   // StaticFileName是html文件名
     HtmlTextWriter h = new  HtmlTextWriter(r);
     
base .Render(h); 
     r.Close();
     h.Close();
     Response.Redirect(StaticFileName);
}
然后在同一aspx的pageLoad事件中判断StaticFileName是否已经存在,如果存在,就应该直接转向,不应该继续生成页面了。

你可能感兴趣的:(asp.net)