是否有更好的方法可以将rdlc报告集成到mvc 5 asp.net。每个人都在使用iframe进行展示。但我不喜欢这种解决方案。
是否有任何优雅的解决方案?
如何呈现rdlc报告在单独的选项卡中>>?!
例如,在您的控制器中:
public ActionResult Report() { LocalReport localReport = new LocalReport(); localReport.ReportPath = Server.MapPath("~/Reports/Report1.rdlc"); // you may comment dbContext if the report is static or needs no DB-connection using (dbContext db = new dbContext()) { ReportDataSource ds1 = new ReportDataSource("DataSet_Header", db.table_X.ToList()); ReportDataSource ds2 = new ReportDataSource("DataSet_Detail", db.StoreedProcedure_X(5).ToList()); // ... localReport.DataSources.Add(ds1); localReport.DataSources.Add(ds2); string mimeType; string encoding; string fileNameExtension; Warning[] warnings; string[] streams; string reportType = "PDF"; string deviceInfo = "<DeviceInfo>" + "<OutputFormat>PDF</OutputFormat>"+ "<PageWidth>11.69in</PageWidth>"+ "<PageHeight>8.27in</PageHeight>"+ "</DeviceInfo>"; byte[] renderBytes; // add report parameters here, if any Microsoft.Reporting.WebForms.ReportParameter[] para = new ReportParameter[] { new ReportParameter("sample", Sample.ToString()) // , add more parameters if anymore exists ... }; } localReport.SetParameters(para); renderBytes = localReport.Render( reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings ); return File(renderBytes, "application/pdf"); }
您可以为上述操作方法创建
<a>
标签或@Html.ActionLink
。
希望这有帮助:)