ABC Pdf mobile未正确下载pdf

时间:2015-11-25 13:53:44

标签: asp.net-mvc pdf jquery-mobile abcpdf

我正在做一个简洁的MVC项目并将其中一个HTML页面呈现为PDF。 当我从桌面版本调用它时,PDF会自动下载,而不会重定向我。 但当我在我的page.mobile.cshtml上并按下下载pdf按钮时,它会将我重定向到GetPDF方法的URL。如果我然后刷新该网站,则下载pdf。

我在这里做错了什么,移动视图的某些路由设置是错误的吗?

这是我的getPdf方法:

public void getPdf(string snr, string bnr, int bgn)
        {
            Doc theDoc = new Doc();
            theDoc.Clear();
            theDoc.FontSize = 16;

            theDoc.Page = theDoc.AddPage();

            int theID;

            string url = this.Url.Action("TicketPdf", "Home", new { supplierCode = snr, bookingNr = bnr, bgn = bgn }, this.Request.Url.Scheme);

            theID = theDoc.AddImageUrl(url);

            while (true)
            {
                theDoc.FrameRect();
                if (!theDoc.Chainable(theID))
                    break;
                theDoc.Page = theDoc.AddPage();
                theID = theDoc.AddImageToChain(theID);
            }

            for (int i = 1; i <= theDoc.PageCount; i++)
            {
                theDoc.PageNumber = i;
                theDoc.Flatten();
            }

            byte[] theData = theDoc.GetData();
            Response.Clear();
            Response.ContentType = "application/pdf";
            //Response.AddHeader("content-disposition", "inline; filename=ticket.PDF");
            Response.AddHeader("content-length", theData.Length.ToString());

            Response.AddHeader("content-disposition", "attachment; filename=Ticket.pdf");

            Response.BinaryWrite(theData);
            Response.End();

        }

在两个视图(桌面和移动设备)上,我都这样称呼它:

@Html.ActionLink("Download pdf", "getPDF", new { snr = @bok.CBSupplierId, bnr = @bok.CBBookingCode, bgn = (int)bok.Id })

因此,当我按下桌面视图中的链接时,它会下载PDF而不重定向我。但是当我在使用jquery mobile构建的移动视图中按下它时,它会将我重定向到:/ Home / getPDF?snr = 22558&amp; bnr = IWVY99&amp; bgn = 4391

1 个答案:

答案 0 :(得分:0)

通过添加rel =&#34; external&#34;来管理解决它来自移动视图的链接。