ASP.net在页面所有内容生成后、输出内容前对页面内容进行操作


以前曾说过用HttpModule来在Response前更改Cookie,今天遇到Asp.net自做主张,把我辛苦转换的汉字ꪻ这样的表现形式,又转成汉字,别说是Asp.net的Web控件,就是Html控件Ranat=server都会被它强行转换成汉字输出。
如果把页面内容一行行用Response写出来,那样太累,而且容易出错。所以最好的办法是在Asp.net的生成动作完成之后,再进行一次转换,这样Asp.net就拿你没有办法了。
Asp.net的所有生成动作在Render方法中完成,那么我们就对Render方法进行手术:


protected override void Render(HtmlTextWriter writer)
{

StringWriter sw = new StringWriter();
HtmlTextWriter htmlw = new HtmlTextWriter(sw);
//把页面生成内容拿出来
base.Render(htmlw);
htmlw.Flush();
htmlw.Close();
string pageContent = sw.ToString();
//对内容进行修改
pageContent = KillTheBugAndShit(pageContent);

Response.Write(pageContent);

//base.Render (writer);
}
使用这种方法,也可以把页面生成的内容拿出来生成静态页面使用。



相关阅读:
jquery 简短几句代码实现给元素动态添加及获取提示信息
对联浮动广告效果
非常不错的三种简洁的Tab导航(网页选项卡)简析
Red Hat Linux上使用BIND建立DNS服务器
首块开源显卡将发布 已开始接受预定
asp.net用url重写URLReWriter实现任意二级域名 高级篇
Windows 2008脱机文件配置攻略
“系统资源不足”的形成与解决方案
了解CSS的查找匹配原理,让CSS更简洁、高效
asp.net 分页潜谈
包涵HTML标记的内容分页
Blitz templates 最快的PHP模板引擎
浅析Java中Data类的应用
Linux中网络字节序和主机字节序
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4