Asp.net 2.0 中將網站首頁產生靜態頁的一個比較好的方法 - 清清月兒 .NET萬花筒 Asp.net技術 Asp.net教程 Asp.net源碼 Asp.net基礎 Asp.net控制項 Asp.net入門 - CSDNBlog
做網站時,有時為了提高效能會將網站首頁產生靜態頁(當然, Asp.net中頁面緩衝也是一個不錯的選擇了
將頁面產生靜態方法有多中,據不完全統計有N種(N>1)
呵呵
以下的方法來自 "孟子E " 解釋的方法
代碼如下
protected override void Render(HtmlTextWriter writer)
...{
System.IO.StringWriter html = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter tw = new HtmlTextWriter(html);
base.Render(tw);
System.IO.StreamWriter sw = new System.IO.StreamWriter(Server.MapPath("index.html"), false, System.Text.Encoding.Default);
sw.Write(html.ToString());
sw.Close();
tw.Close();
Response.Write("頁面產生成功!");
}
將以上上函數數加如到你要產生靜太檔案的頁面裡,
函數從載了,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是否已經存在,如果存在,就應該直接轉向,不應該繼續產生頁面了。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1536753