1

我想在母版页的 LoadComplete 事件中捕获 asp.net 页面的 HTML 输出。这就是我所拥有的:

public partial class MasterPage_MyBlogMainMaster : System.Web.UI.MasterPage
{
    protected void Page_LoadComplete(object sender, EventArgs e)
    {
        var PageURL = HttpContext.Current.Request.Url.AbsolutePath;

        StringBuilder sb = new StringBuilder();
        StringWriter sw = new StringWriter(sb);

        HtmlTextWriter hWriter = new HtmlTextWriter(sw);
        base.Render(hWriter);

        string PageResult = sb.ToString();
    }
}

问题是事件似乎没有触发。我需要改变什么?

谢谢。

4

2 回答 2

1

好的,我开始工作了;如果有人来到这个页面,这就是你的做法。问题是LoadComplete需要在Page_Load方法中连接事件,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
     Page.LoadComplete += new EventHandler(Page_LoadComplete);
}

protected void Page_LoadComplete(object sender, EventArgs e)
{
  ... now this works
}
于 2013-11-10T15:41:56.487 回答
0

也许尝试使用HttpHandler(您也可以过滤掉其中不感兴趣的页面):Capturing HTML generated from ASP.NET

于 2013-11-10T13:33:16.360 回答