2011-05-31 45 views
1

我想在一個updatepanel中向用戶發送字節流中的一個pfd,但是我無法使其工作。在更新面板中顯示帶有字節流的pdf

  Print print = new Print(); 
      byte[] pdfTransport; 
      pdfTransport = //get the byte array 
      Response.ClearContent(); 
      Response.ClearHeaders(); 
      Response.ContentType = "application/pdf"; 
      Response.AddHeader("Content-Disposition", "attachment; filename=Tpt" + lblTransportNr.Text + DateTime.Now.ToString().Replace(",", "") + ".pdf"); 

      Response.BinaryWrite(pdfTransport); 
      string value; 
      System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding(); 
      value = enc.GetString(pdfTransport); 
      Response.End(); 
      Response.Flush(); 
      Response.Clear(); 

如果我使用它,它在.aspx頁面中沒有updatepanel。當我把頁面放入一個updatepanel時,我得到一個Parsing錯誤。有沒有人有想法來避免這個問題或解決它? Thx。

回答

1

實際上,您無法通過AJAX請求發送字節流,這只是一種技術限制。並且UpdatePanel使用異步請求(AJAX)。

+0

太糟糕了,thx的信息。 – Ben 2011-06-01 06:21:19

+1

是的,你可以通過使用某種iframe來解決這個問題,所以頁面通過它發送一個請求,這就是爲什麼一些文件會被提示下載它以避免完整的回發... – 2011-06-01 06:24:17

0

不明白你想要什麼....你想查看1.在網頁上的pdf內容,或2.以可讀格式的pdf二進制文件?

如果1:不使用更新面板...但一個iframe到PDF網址

如果2:不中寫入響應,與集的標籤的Text屬性更新面板