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)即可。非常简单。
{
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);
}