使用数据绑定控件获取当前页的 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
中。 关于为什么会这样的任何想法? 我应该如何解决这个问题?
事实证明,我必须在数据绑定到控件后呈现控件。我的单击方法只添加一个事件处理程序:
protected void ConvertRepeaterToPDF_click(object sender, EventArgs e)
{
// handle the PreRender complete method
Page.PreRenderComplete += new EventHandler(Page_OnPreRenderComplete);
}
然后在Page_OnPreRenderComplete中,我可以如上所述使用RenderControl。