生成静态页的三种方法
2011-08-08 14:58
288 查看
做网站时,有时为了提高性能,除了使用ASP.Net页面缓存以外,也可以将网站首页生成静态页。
生成静态页面的方法有很多,我们这里就介绍两种:
模板法
重写Page的Render方法(该方法来自 "孟子E " )
ASP.Net 2.0中的HttpRequest.SaveAs方法。
1.模板法废话不说,就是经典的实现方法,直接放代码:
函数重载了Page.Render函数,作用是把页面的HTML文本截下来,保存到文件里,进一步的可以去看一下ASP.Net页面生命过程。
代码如下
将以上上函数数加如到你要生成静太文件的页面里。
3.模板法
在ASP.NET 2.0中,有时候需要对ASP.NET生成的HTML代码进行处理,或者是保存成静态文件。ASP.NET 提供了直接将请求保存成文件的方法:HttpRequest.SaveAs方法。
生成静态页面的方法有很多,我们这里就介绍两种:
模板法
重写Page的Render方法(该方法来自 "孟子E " )
ASP.Net 2.0中的HttpRequest.SaveAs方法。
1.模板法废话不说,就是经典的实现方法,直接放代码:
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.IO; using System.Text; namespace menutest { /// <summary> /// Conn 的摘要说明。 /// </summary> // by kyo // 此类是生成静态网页的小程序 public class Conn { public Conn() { } public static bool WriteFile(string strText,string strContent,string strAuthor) { string path = HttpContext.Current.Server.MapPath("/menutest/"); Encoding code = Encoding.GetEncoding("gb2312"); // 读取模板文件 string temp = HttpContext.Current.Server.MapPath("/menutest/news/text.html"); StreamReader sr=null; StreamWriter sw=null; string str=""; try { sr = new StreamReader(temp,code); str = sr.ReadToEnd(); // 读取文件 } catch(Exception exp) { HttpContext.Current.Response.Write(exp.Message); HttpContext.Current.Response.End(); sr.Close(); } //string htmlfilename=DateTime.Now.ToString("yyyyMMddHHmmss")+".html"; string htmlfilename="kyo.html"; // 替换内容 // 这时,模板文件已经读入到名称为str的变量中了 str = str.Replace("ShowArticle",strText); //模板页中的ShowArticle str = str.Replace("biaoti",strText); str = str.Replace("content",strContent); str = str.Replace("author",strAuthor); // 写文件 try { sw = new StreamWriter(path + htmlfilename , false, code); sw.Write(str); sw.Flush(); } catch(Exception ex) { HttpContext.Current.Response.Write(ex.Message); HttpContext.Current.Response.End(); } finally { sw.Close(); } return true; } } } //原理是利用System.IO中的类读写模板文件,然后用Replace替换掉模板中的标签,写入静态html.2.重写Render法
函数重载了Page.Render函数,作用是把页面的HTML文本截下来,保存到文件里,进一步的可以去看一下ASP.Net页面生命过程。
代码如下
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("页面生成成功!"); }
将以上上函数数加如到你要生成静太文件的页面里。
3.模板法
在ASP.NET 2.0中,有时候需要对ASP.NET生成的HTML代码进行处理,或者是保存成静态文件。ASP.NET 提供了直接将请求保存成文件的方法:HttpRequest.SaveAs方法。
相关文章推荐
- 生成静态页的三种方法
- PHP生成唯一ID的三种方法
- 生成WSDL文件的三种方法
- php生成随机密码的三种方法小结
- php中生成唯一标示符的三种方法
- C#生成随机数的三种方法
- PHP动态页生成静态页的3种常用方法
- 最近一直在找一个好点的静态页的生成的好的方法
- asp.net生成静态页(生成html静态页面)方法(一)
- java生成随机数的三种方法
- php生成二维码的三种方法
- ThinkPHP生成静态页buildHtml方法
- 基于PHP生成静态页的实现方法
- phpunit 生成三种日志文件的配置方法
- ASP.NET 2.0生成HTML的三种方法
- 基于PHP生成静态页的实现方法
- PHP生成随机密码的三种方法
- C#中获取、生成随机数的三种方法
- 三种让网站图片生成灰色效果的方法
- ASP页面生成静态页的方法