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

所属分类: 网络编程 / ASP.NET 阅读数: 318
收藏 0 赞 0 分享
以前曾说过用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);
}
使用这种方法,也可以把页面生成的内容拿出来生成静态页面使用。 
更多精彩内容其他人还在看

使用UserControl做网站导航条的思路 分析

使用UserControl做网站导航条的思路 分析
收藏 0 赞 0 分享

ASP.NET中使用AspnetAccessProvider

ASP.NET中使用AspnetAccessProvider
收藏 0 赞 0 分享

asp.net下实现URL重写技术的代码

asp.net下实现URL重写技术的代码
收藏 0 赞 0 分享

为大家经常为md5加密过的常用admin,admin888,0000密码

为大家经常为md5加密过的常用admin,admin888,0000密码
收藏 0 赞 0 分享

利用MS AJAX注册Javascript命名空间并创建类

利用MS AJAX注册Javascript命名空间并创建类
收藏 0 赞 0 分享

asp.net下gridview 批量删除的实现方法第1/3页

asp.net下gridview 批量删除的实现方法
收藏 0 赞 0 分享

用CSS实现图片倾斜 只支持IE

用CSS实现图片倾斜 只支持IE
收藏 0 赞 0 分享

asp.net(c#)中取得文件物理路径

asp.net(c#)中取得文件物理路径
收藏 0 赞 0 分享

垃圾代码二三行 ASPX小马

垃圾代码二三行 ASPX小马
收藏 0 赞 0 分享

.NET 2.0获取配置文件AppSettings和ConnectionStrings节数据的方法

.NET 2.0获取配置文件AppSettings和ConnectionStrings节数据的方法
收藏 0 赞 0 分享
查看更多