`
caozuiba
  • 浏览: 896273 次
文章分类
社区版块
存档分类
最新评论

Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法

 
阅读更多
<iframe marginwidth="0" marginheight="0" src="http://218.16.120.35:65001/PC/Global/images/b.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
做网站时,有时为了提高性能会将网站首页生成静态页(当然,Asp.net中页面缓存也是一个不错的选择了
将页面生成静态的方法有多中,据不完全统计有N种(N>1)
呵呵
以下的方法来自"孟子E"解释的方法

代码如下

protectedoverridevoidRender(HtmlTextWriterwriter)
...{
System.IO.StringWriterhtml=newSystem.IO.StringWriter();
System.Web.UI.HtmlTextWritertw=newHtmlTextWriter(html);
base.Render(tw);
System.IO.StreamWritersw=newSystem.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页面生命过程.


静态页面的生成

protectedoverridevoidRender(HtmlTextWriterwriter){
StreamWriterr=newStreamWriter(Server.MapPath(StaticFileName),
false,System.Text.Encoding.UTF8);//StaticFileName是html文件名
HtmlTextWriterh=newHtmlTextWriter(r);
base.Render(h);
r.Close();
h.Close();
Response.Redirect(StaticFileName);
}

然后在同一aspx的pageLoad事件中判断StaticFileName是否已经存在,如果存在,就应该直接转向,不应该继续生成页面了。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics