ASP.NET 中如何对生成的 HTML 内容流进行控制?

在进行 ASP.NET 开发时,有时候需要对页面输出的最终 HTML 源代码进行控制,是页面的 render 方法中很容易实现这个功能。下面就是一个实现的方法,注释都在代码中。

[c-sharp] view plain copy
  1. <%@ Page Language="C#" %>  
  2. <%@ Import Namespace="System.IO" %>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  4. <script runat="server">  
  5.   protected override void Render(HtmlTextWriter writer)  
  6.   {  
  7.     string content = string.Empty;  
  8.     StringWriter stringWriter = new StringWriter();  
  9.     HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);  
  10.     try  
  11.     {  
  12.       // 将当前页面的内容呈现到临时的 HtmlTextWriter 对象中  
  13.       base.Render(htmlWriter);  
  14.       htmlWriter.Close();  
  15.       // 得到当前页面的全部内容  
  16.       content = stringWriter.ToString();  
  17.       // 替换页面中的部分内容  
  18.       string newContent = content.Replace("[mxh]""孟宪会");  
  19.       // 将新页面的内容显示出来  
  20.       writer.Write(newContent);  
  21.     }  
  22.     catch { }  
  23.     finally  
  24.     {  
  25.       stringWriter.Dispose();  
  26.       htmlWriter.Close();  
  27.       htmlWriter.Dispose();  
  28.     }  
  29.   }  
  30. </script>  
  31. <html xmlns="http://www.w3.org/1999/xhtml">  
  32. <head id="Head1" runat="server">  
  33.   <title>孟宪会之替换页面呈现内容测试</title>  
  34. </head>  
  35. <body>  
  36.   <form id="form1" runat="server">  
  37.   [mxh]  
  38.   </form>  
  39. </body>  
  40. </html> 

http://blog.csdn.net/net_lover/article/details/5324455

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值