ASP.net在頁面所有內(nèi)容生成后、輸出內(nèi)容前對(duì)頁面內(nèi)容進(jìn)行操作
更新時(shí)間:2007年04月13日 00:00:00 作者:
以前曾說過用HttpModule來在Response前更改Cookie,今天遇到Asp.net自做主張,把我辛苦轉(zhuǎn)換的漢字ꪻ這樣的表現(xiàn)形式,又轉(zhuǎn)成漢字,別說是Asp.net的Web控件,就是Html控件Ranat=server都會(huì)被它強(qiáng)行轉(zhuǎn)換成漢字輸出。
如果把頁面內(nèi)容一行行用Response寫出來,那樣太累,而且容易出錯(cuò)。所以最好的辦法是在Asp.net的生成動(dòng)作完成之后,再進(jìn)行一次轉(zhuǎn)換,這樣Asp.net就拿你沒有辦法了。
Asp.net的所有生成動(dòng)作在Render方法中完成,那么我們就對(duì)Render方法進(jìn)行手術(shù):
protected override void Render(HtmlTextWriter writer)
{
StringWriter sw = new StringWriter();
HtmlTextWriter htmlw = new HtmlTextWriter(sw);
//把頁面生成內(nèi)容拿出來
base.Render(htmlw);
htmlw.Flush();
htmlw.Close();
string pageContent = sw.ToString();
//對(duì)內(nèi)容進(jìn)行修改
pageContent = KillTheBugAndShit(pageContent);
Response.Write(pageContent);
//base.Render (writer);
}
使用這種方法,也可以把頁面生成的內(nèi)容拿出來生成靜態(tài)頁面使用。
如果把頁面內(nèi)容一行行用Response寫出來,那樣太累,而且容易出錯(cuò)。所以最好的辦法是在Asp.net的生成動(dòng)作完成之后,再進(jìn)行一次轉(zhuǎn)換,這樣Asp.net就拿你沒有辦法了。
Asp.net的所有生成動(dòng)作在Render方法中完成,那么我們就對(duì)Render方法進(jìn)行手術(shù):
protected override void Render(HtmlTextWriter writer)
{
StringWriter sw = new StringWriter();
HtmlTextWriter htmlw = new HtmlTextWriter(sw);
//把頁面生成內(nèi)容拿出來
base.Render(htmlw);
htmlw.Flush();
htmlw.Close();
string pageContent = sw.ToString();
//對(duì)內(nèi)容進(jìn)行修改
pageContent = KillTheBugAndShit(pageContent);
Response.Write(pageContent);
//base.Render (writer);
}
使用這種方法,也可以把頁面生成的內(nèi)容拿出來生成靜態(tài)頁面使用。
相關(guān)文章
ASP.NET中實(shí)現(xiàn)獲取調(diào)用方法名
這篇文章主要介紹了ASP.NET中實(shí)現(xiàn)獲取調(diào)用方法名的技巧,較為詳細(xì)的講述了相關(guān)的命名空間的調(diào)用及語句執(zhí)行順序,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12保護(hù).net中的dll文件方法(防止破解、反編譯dll)
.net是一種建立在虛擬機(jī)上執(zhí)行的語言,它直接生成 MSIL 的中間語言,再由.net編譯器 JIT 解釋映象為本機(jī)代碼并交付CPU執(zhí)行。中間語言很容易被反編譯,所以研究下如何有效的保護(hù)dll文件2013-02-02.Net基于MVC4 Web Api輸出Json格式實(shí)例
這篇文章主要介紹了.Net基于MVC4 Web Api輸出Json格式的實(shí)現(xiàn)方法,實(shí)例講述了Global中json的操作與XML的處理等技巧,需要的朋友可以參考下2014-10-10

一個(gè)伴隨ASP.NET從1.0到4.0的OutputCache Bug介紹
一個(gè)伴隨ASP.NET從1.0到4.0的OutputCache Bug介紹,學(xué)習(xí).net的朋友可以參考下。
2011-11-11