0

PDFが作成されてフラッシュされる間、UpdatePanelとUpdateprogressを使用して待機中のメッセージを表示しようとしています。コードを見る

<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です。この問題について何か助けはありますか?

乾杯。

4

1 に答える 1

0

これは、パネルを更新しようとしResponse.BinaryWriteているが、実行できないためです。html のみを更新パネルに送り返すことができます。

問題を説明し、簡単な解決策を提供するこのリンクを確認してください。

于 2012-08-28T21:18:09.653 に答える