updatepanel和updateprogress清除PDF响应

时间:2012-08-28 21:09:21

标签: c# asp.net updatepanel

我试图使用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。对此事有何帮助?

干杯。

1 个答案:

答案 0 :(得分:0)

这是因为您尝试Response.BinaryWrite更新面板,这是无法完成的。您只能将html发送回更新面板。

请查看此link,它解释了问题并提供了一个简单的解决方案。