在进行 ASP.NET 开发时,有时候需要对页面输出的最终 HTML 源代码进行控制,是页面的 render 方法中很容易实现这个功能。下面就是一个实现的方法,注释都在代码中。
<%@ Page Language="C#" %> <%@ Import Namespace="System.IO" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected override void Render(HtmlTextWriter writer) { string content = string.Empty; StringWriter stringWriter = new StringWriter(); HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter); try { // 将当前页面的内容呈现到临时的 HtmlTextWriter 对象中 base.Render(htmlWriter); htmlWriter.Close(); // 得到当前页面的全部内容 content = stringWriter.ToString(); // 替换页面中的部分内容 string newContent = content.Replace("[mxh]", "孟宪会"); // 将新页面的内容显示出来 writer.Write(newContent); } catch { } finally { stringWriter.Dispose(); htmlWriter.Close(); htmlWriter.Dispose(); } } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>孟宪会之替换页面呈现内容测试</title> </head> <body> <form id="form1" runat="server"> [mxh] </form> </body> </html>