我试图使用UpdatePanel& Updateprogress显示等待消息,同时创建并刷新PDF。见代码
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
Loading.......
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="BT_Create" />
</Triggers>
<ContentTemplate>
<asp:LinkButton ID="BT_Create" runat="server" OnClick="BT_Create_Click">Download</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
protected void BT_Create_Click(object sender, EventArgs e)
{
byte[] downloadBytes = pdfConverter.GetPdfBytesFromHtmlString(htmlCodeToConvert, baseUrl);
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.Clear();
response.AddHeader("Content-Type", "binary/octet-stream");
response.AddHeader("Content-Disposition", "attachment; filename="test.pdf; size=" + downloadBytes.Length.ToString());
response.Flush();
response.BinaryWrite(downloadBytes);
response.Flush();
response.End();
}
问题是我可以看到等待消息但没有返回PDF:S。对此事有何帮助?
干杯。
答案 0 :(得分:0)
这是因为您尝试Response.BinaryWrite
更新面板,这是无法完成的。您只能将html发送回更新面板。
请查看此link,它解释了问题并提供了一个简单的解决方案。