ASP.Net - 使用Web方法打开PDF

时间:2011-08-05 07:59:40

标签: c# asp.net ajax webmethod

只是想知道是否可以使用使用AJAX调用的Web方法打开PDF?要打开的文件存储在服务器上的临时目录中。

有人有任何建议如何实现这一目标吗?

全部谢谢!

1 个答案:

答案 0 :(得分:0)

Oded已经为您提供了最佳解决方案,但如果您仍然希望这样做,请点击此处:

您可以使用此jquery plugin

您的网页会有一个超链接:

<a id="PrintAjaxReport" href="javascript:{}">Print report Ajax</a>

jQuery的:

$(document).ready(function() {
    $("#PrintAjaxRepor").click(function() {
         $.download('PdfReport.aspx', "filename=mySpreadsheet", "POST");
     });
});

PdfReport.aspx

public partial class PdfReport : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var pdfDocumentName = Request.Params["filename"].ToString() + ".pdf";
        var myReport = "Razor Syntax Quick Reference.pdf";

        var FileName = Path.Combine(Path.Combine(Server.MapPath("~"), "Temp"), myReport);

        Response.Clear();
        Response.ClearHeaders();
        Response.ClearContent();

        Response.ContentType = "application/pdf";
        Response.AddHeader("Content-Type", "application/pdf");
        Response.AddHeader("content-disposition", "attachment; filename=" + pdfDocumentName);
        Response.TransmitFile(FileName);
        Response.End();
    }
}

您可以找到一个示例(OpenPDFjQuery)here