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)即可。非常简单。 转载于:https://www.cnblogs.com/yukaizhao/archive/2008/05/15/dot_net_generate_static_file.html