我已经在我的应用程序中集成了以下代码,以使用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处理弹出窗口的方式无关.