asp.net – Crystal Reports – 在MVC中导出为pdf

我已经在我的应用程序中集成了以下代码,以使用MVC项目中的水晶报表生成“pdf”文件.

但是,处理完请求后,我只能看到pdf文件中的2个页面,而我的“数据”返回的记录超过2个.

此外,pdf不会在页面处理后立即呈现,而是我必须至少刷新一次,然后在浏览器上呈现pdf.

using CrystalDecisions.CrystalReports.Engine;

public FileStreamResult Report()
{
    ReportClass rptH = new ReportClass();
    List<sampledataset> data = objdb.getdataset();
    rptH.FileName = Server.MapPath("[reportName].rpt");
    rptH.Load();
    rptH.SetDatabaseLogon("un", "pwd", "server", "db");
    rptH.SetDataSource(data);
    Stream stream = rptH.ExportToStream
       (CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
    stream.Seek(0, System.IO.SeekOrigin.Begin);
    return new FileStreamResult(stream, "application/pdf");   
}

我从SO中获取了here的代码,但是像上面一样修改了它.

TIA.

编辑:这适用于Firefox,而不是IE7.

最佳答案 我终于在SO上找到了解决方案
here.它与MVC无关,但与IE处理弹出窗口的方式无关.

点赞