實現靜態頁面的一種非常簡單的方法

1.第一種方法

 public static string fileName;
    protected override void Render(HtmlTextWriter writer)
    {
        StringWriter html = new StringWriter();
        HtmlTextWriter tw = new HtmlTextWriter(html);
        base.Render(tw);
        StreamWriter sw = new StreamWriter(Server.MapPath(DefalutPage.fileName), false, System.Text.Encoding.GetEncoding("gb2312"));
        sw.Write(html.ToString());
        sw.Flush();
        sw.Close();
        tw.Close();
        Response.Write(html.ToString());
    }

需要實現靜態的頁面繼承它即可,並給定生成靜態頁面的路徑。

2.第二種方法

  public static string fileName;  //生成靜態頁的路徑

   //控件呈現之前

        protected override void OnPreRender(EventArgs e)
        {
            StringWriter html = new StringWriter();
            HtmlTextWriter tw = new HtmlTextWriter(html); //html:要被生成的頁面
            base.Render(tw);
            StreamWriter sw = new StreamWriter(Server.MapPath("/html/" + Static.fileName), false, System.Text.Encoding.GetEncoding("gb2312"));
            sw.Write(html.ToString());
            sw.Flush();
            sw.Close();
            tw.Close();
            Response.Write(html.ToString());
            Static.fileName = Static.fileName.Substring(Static.fileName.LastIndexOf('\\') + 1);
        }

       //呈現到客服端
        protected override void Render(HtmlTextWriter writer)
        {
            Response.Redirect("/html/" + Static.fileName);
            Response.End();

        }

3.第三種略

...............................

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章