在updatepanel中显示带有字节流的pdf

时间:2011-05-31 14:58:08

标签: c# asp.net filestream

我想在updatepanel中向用户发送字节流中的pfd,但我无法让它工作。

            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页面中没有更新面板的情况下工作。当我将页面放在更新面板中时,我得到一个解析错误。有没有人有想法避免这个问题或解决它? THX。

2 个答案:

答案 0 :(得分:1)

实际上你不能通过AJAX请求发送字节流,这只是一个技术限制。 UpdatePanel使用异步请求(AJAX)。

答案 1 :(得分:0)

不明白你想要什么....你想看到1.网页中的pdf内容,还是2.人类可读格式的pdf二进制文件?

如果1.:不使用更新面板...而是使用pdf网址的iframe

如果2.:不写入响应,并在updatepanel中设置标签的Text属性