ASP.NET的Render方法
作者:佚名
本文介紹ASP.NET的所有生成動作在Render方法中完成,那么我們就對Render方法進行手術。
以前曾說過用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);
- }
使用Render方法,也可以把頁面生成的內容拿出來生成靜態頁面使用。
【編輯推薦】
責任編輯:佚名
來源:
IT168