Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.Net-使用web方法打开PDF_C#_Asp.net_Ajax_Webmethod - Fatal编程技术网

C# ASP.Net-使用web方法打开PDF

C# ASP.Net-使用web方法打开PDF,c#,asp.net,ajax,webmethod,C#,Asp.net,Ajax,Webmethod,只是想知道是否有可能使用一种称为使用AJAX的web方法打开PDF?要打开的文件存储在服务器上的临时目录中 有人对如何实现这一目标有什么建议吗 谢谢大家 Oded为您提供了最好的解决方案,但如果您仍想这样做,请看下面的内容: 您可以使用这个jquery 您的网页将具有超链接: <a id="PrintAjaxReport" href="javascript:{}">Print report Ajax</a> PdfReport.aspx public partial c

只是想知道是否有可能使用一种称为使用AJAX的web方法打开PDF?要打开的文件存储在服务器上的临时目录中

有人对如何实现这一目标有什么建议吗


谢谢大家

Oded为您提供了最好的解决方案,但如果您仍想这样做,请看下面的内容:

您可以使用这个jquery

您的网页将具有超链接:

<a id="PrintAjaxReport" href="javascript:{}">Print report Ajax</a>
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)。

如果文件很大,您需要以某种方式显示下载进度,那么您应该参考这里:简单链接不起作用的原因是什么?您是否试图在服务器端读取pdf?
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();
    }
}