也许我之前关于output caching输出缓存的问题太复杂了。
让我们简化。
如何从ASP.Net中的页面(或控件)事件中获取最终的“准备发送”呈现的HTML?我假设这将与将用于输出缓存的内容相同,因此可以查询以找出将要放入缓存的内容。
答案 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();
}
}
}
}