会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
玉开Sir的技术博客
穷则变,变则通,通则久 寂寞平淡
博客园
首页
新随笔
联系
订阅
管理
页面执行时生成静态文件的方法
在页面输出的同时生成静态文件。
protected
override
void
Render(HtmlTextWriter writer)
{
if
(EnableStaticFile)
{
if
(transferToHtml)
return
;
string
authorPath
=
Server.MapPath(
"
/authors/
"
+
GetUrlPath(authorID)
+
"
.html
"
);
string
authorDir
=
Path.GetDirectoryName(authorPath);
if
(
!
Directory.Exists(authorDir))
{
Directory.CreateDirectory(authorDir);
}
TextWriter ioWriter
=
null
;
HtmlTextWriter hioWriter
=
null
;
try
{
ioWriter
=
new
StreamWriter(authorPath,
false
, Response.ContentEncoding);
hioWriter
=
new
HtmlTextWriter(ioWriter);
base
.Render(hioWriter);
}
catch
(Exception)
{ }
finally
{
if
(ioWriter
!=
null
) ioWriter.Close();
if
(hioWriter
!=
null
) hioWriter.Close();
}
}
base
.Render(writer);
}
如上代码,重写Page的Render方法,新建一个指向文件的HtmlTextWriter在页面输出之前执行base.Render(txtWriter)即可。非常简单。
posted @
2008-05-15 13:03
玉开
阅读(
1219
) 评论(
2
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告