ASP.net在页面所有内容生成后、输出内容前对页面内容进行操作
作者:互联网
2009-06-30
以前曾说过用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);
}
使用这种方法,也可以把页面生成的内容拿出来生成静态页面使用。
(好像去年也写过这样内容的贴子……不记得了)
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
详解.NET Core如何构建一个弹性的HTTP请求机制
.NET Core使用Redis实现创建分布式锁
.NET内存管理释放的两种方式
基于.NET8实现WinFrom应用窗口自动缩放功能
浅析如何在 ASP.NET Core中实现速率限制
.NET Core 委托原理解析(最新推荐)
.NET 9 new features-Microsoft.ML.Tokenizers 库(文本标记化功能)
如何在 .NET 中使用 Tesseract 识别图片文字
ASP.NET Core Web API之Token验证的实现
asp.net core web api项目添加自定义中间件的实现
AI精选
