使用数据绑定控件获取当前页的 HTML 内容

本文关键字:HTML 内容 当前页 获取 数据绑定 控件 | 更新日期: 2023-09-27 18:35:04

>我正在尝试创建一个控件,将它所在的页面转换为PDF。

protected void ConvertPageToPDF_click(object sender, EventArgs e)
{
    string pageHtml;
    byte[] pdfBytes;
    string url = HttpContext.Current.Request.Url.AbsoluteUri;
    // get the HTML for the entire page into pageHtml
    HtmlTextWriter hw = new HtmlTextWriter(new StringWriter());
    this.Page.RenderControl(hw);
    pageHtml = hw.InnerWriter.ToString();
    // send pageHtml to a library for conversion
    // send the PDF to the user
}

这部分有效。 在我的页面上,我有几个中继器;他们的内容不会显示在pageHtml中。 关于为什么会这样的任何想法? 我应该如何解决这个问题?

使用数据绑定控件获取当前页的 HTML 内容

事实证明,我必须在数据绑定到控件后呈现控件。我的单击方法只添加一个事件处理程序:

protected void ConvertRepeaterToPDF_click(object sender, EventArgs e)
{
    // handle the PreRender complete method
    Page.PreRenderComplete += new EventHandler(Page_OnPreRenderComplete);
}

然后在Page_OnPreRenderComplete中,我可以如上所述使用RenderControl。