对已经生成了HTML的页面做一些输出到客户端之前的处理
方法的原理是:把Response的输出重定向到自定义的容器内,也就是我们的StringBuilder对象里,在HTML所有的向页面输出都变成了向StringBuilder输出,然后我们对StringBuilder处理完成之后,再把Response的输出重定向到原来的页面上,然后再通过Response.Write方法把StringBuilder的内容输出到页面上
这里之所以用反射,是因为Response对象的OutPut属性是只读的,通过反编译该类的程序集发现,OutPut实际上是内部私有成员 _writer来实现输出的。因此通过反射来改写该成员的值以实现输出流的重定向。
本文介绍了一种在ASP.NET中实现页面输出重定向的方法,通过使用反射技术修改Response对象的输出流,使得原本直接输出到客户端的内容可以先被收集并进行自定义处理后再发送给客户端。提供了三种实现方式,包括在Page类中实现、使用HttpModule以及结合BeginRequest和EndRequest事件。

760

被折叠的 条评论
为什么被折叠?



