本文標(biāo)題是指對(duì)已經(jīng)生成了HTML的頁(yè)面做一些輸出到客戶端之前的處理。
方法的原理是:把Response的輸出重定向到自定義的容器內(nèi),也就是我們的StringBuilder對(duì)象里,在HTML所有的向頁(yè)面輸出都變成了向StringBuilder輸出,然后我們對(duì)StringBuilder處理完成之后,再把Response的輸出重定向到原來(lái)的頁(yè)面上,然后再通過(guò)Response.Write方法把StringBuilder的內(nèi)容輸出到頁(yè)面上
這里之所以用反射,是因?yàn)镽esponse對(duì)象的OutPut屬性是只讀的,通過(guò)反編譯該類的程序集發(fā)現(xiàn),OutPut實(shí)際上是內(nèi)部私有成員 _writer來(lái)實(shí)現(xiàn)輸出的。因此通過(guò)反射來(lái)改寫該成員的值以實(shí)現(xiàn)輸出流的重定向。
[c-sharp]view plaincopy最后還是推薦一篇好文:碼農(nóng)歐洲出差的一點(diǎn)小插曲
|
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注