程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> Asp.net中將網站首頁生成靜態頁的一個比較好的方法

Asp.net中將網站首頁生成靜態頁的一個比較好的方法

編輯:關於C#
 

做網站時,有時為了提高性能會將網站首頁生成靜態頁(當然, Asp.net中頁面緩存也是一個不錯的選擇了
將頁面生成靜態的方法有多中,據不完全統計有N種(N>1)
呵呵

代碼如下

    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是否已經存在,如果存在,就應該直接轉向,不應該繼續生成頁面了。 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved