C# 使用数据绑定控件获取当前页面的HTML内容
我试图创建一个控件,将其所在的页面转换为PDF格式C# 使用数据绑定控件获取当前页面的HTML内容,c#,asp.net,repeater,C#,Asp.net,Repeater,我试图创建一个控件,将其所在的页面转换为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 pageH
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
中。你有没有想过为什么会这样?如何修复此问题?事实证明,在数据绑定到控件后,我必须呈现该控件。我的click方法只添加了一个事件处理程序:
protected void ConvertRepeaterToPDF_click(object sender, EventArgs e)
{
// handle the PreRender complete method
Page.PreRenderComplete += new EventHandler(Page_OnPreRenderComplete);
}
然后,在PreRenderComplete页面中,我可以如上所述使用RenderControl。也许此链接可以帮助您: