ASP.Net最终渲染页面事件

时间:2010-12-06 19:39:35

标签: asp.net page-lifecycle

也许我之前关于output caching输出缓存的问题太复杂了。

让我们简化。

如何从ASP.Net中的页面(或控件)事件中获取最终的“准备发送”呈现的HTML?我假设这将与将用于输出缓存的内容相同,因此可以查询以找出将要放入缓存的内容。

1 个答案:

答案 0 :(得分:1)

代码复制自: http://aspcode.net/Last-second-HTML-changes-in-your-ASPNET-page.aspx

protected override void Render(HtmlTextWriter writer) 
{ 
    using(System.IO.MemoryStream msOur = new System.IO.MemoryStream()) 
    { 
        using(System.IO.StreamWriter swOur = new System.IO.StreamWriter(msOur)) 
        { 
            HtmlTextWriter ourWriter = new HtmlTextWriter(swOur); 
            base.Render(ourWriter); 
            ourWriter.Flush(); 
            msOur.Position = 0; 
            using(System.IO.StreamReader oReader = new System.IO.StreamReader(msOur)) 
            { 
                string sTxt = oReader.ReadToEnd();                     
                Response.Write(sTxt); 
                oReader.Close(); 
            } 
        } 
    } 
}