//以下代码是从事件的角度来设计静态页技术
string FileName;
protected void Page_Load(object sender, EventArgs e)
{
this.lblInfo.Text = System.DateTime.Now.ToString(); //用时间测试
}
protected void Page_PreInit(object sender, EventArgs e) //加载事件
{
FileName = "StaticTest.htm"; //生成的静态页文件
if (File.Exists(Server.MapPath(FileName)))
Server.Transfer(FileName);
}
protected void Page_PreRender(object sender, EventArgs e) //呈现事件
{
StringWriter html = new StringWriter();
HtmlTextWriter tw = new HtmlTextWriter(html);
base.Render(tw);
StreamWriter sw = new StreamWriter(Server.MapPath(FileName), false, System.Text.Encoding.UTF8);
sw.Write(html.ToString());
sw.Flush();
sw.Close();
tw.Close();
Response.Redirect(this.FileName);
}
原创代码,引用时请注明出处!
本文介绍了一种基于事件的静态页面生成技术实现方法。通过在页面加载、预初始化及预渲染等阶段进行处理,实现了动态内容到静态文件的有效转换。该技术可以显著提高网页访问速度并减轻服务器负担。

被折叠的 条评论
为什么被折叠?



