在 MVC 3 Razor 模板中使用 ActiveReports

MVC 自其发布之日起,便成为程序开发者的焦点。在阅读本文章之前,推荐阅读ActiveReports 6 在 MVC 3 中的使用方法:链接。在本篇文章中,我们将介绍如何在 MVC Razor 模板中使用 ActiveReports。Razor 视图引擎建立在 HTML 代码之上,和 aspx 视图引擎有所不同。另一个区别是 Razor 视图引擎不允许添加服务器端控件。ActiveReports 中的 WebViewer 为服务器端控件,但是这并不意味着在 MVC 3 Razor视图引擎中就无法使用 ActiveReports。

发布于 2013/02/26 00:00

ActiveReports

MVC 自其发布之日起,便成为程序开发者的焦点。在阅读本文章之前,推荐阅读ActiveReports 6 在 MVC 3 中的使用方法:链接。在本篇文章中,我们将介绍如何在 MVC Razor 模板中使用 ActiveReports。

Razor 视图引擎建立在 HTML 代码之上,和 aspx 视图引擎有所不同。另一个区别是 Razor 视图引擎不允许添加服务器端控件。ActiveReports 中的 WebViewer  为服务器端控件,但是这并不意味着在 MVC 3 Razor视图引擎中就无法使用 ActiveReports。

实现方法很简单,只要避免使用服务器端控件即可。请不要忘记,ActiveReports 支持导出到多种格式。所以,我们可以把 ActiveReports 导出到 PDF 文件,然后在浏览器中浏览报表。

下面是实例运行截图:

 

实现步骤如下:

1.创建 MVC 3 Razor 工程。在后台导出 ActiveReports 到 PDF 文件。请参考代码片段:

public ActionResult Pdf()  
     {  
       DataDynamics.ActiveReports.ActiveReport rpt = new DataDynamics.ActiveReports.ActiveReport();  
       rpt.LoadLayout(Server.MapPath("~/Content/Reports/CustomersReport.rpx"));  
       rpt.Run();  
       MemoryStream pdfRptStream = new MemoryStream();  
       DataDynamics.ActiveReports.Export.Pdf.PdfExport pdfExport1 = new DataDynamics.ActiveReports.Export.Pdf.PdfExport();  
       pdfExport1.Export(rpt.Document, pdfRptStream);  
       pdfRptStream.Position = 0;  
       byte[] pdf = pdfRptStream.ToArray();  
       return File(pdf, "application/pdf");  
     }

2.在 Index.cshtml 页中显示 PDF 文档。可以使用 IFrame 控件来显示 PDF 文件。代码如下:

<iframe src="@Url.Action("Pdf", "Home")" height="560" width="1000"/>

十分简单吧?赶快下载 Demo 体验吧:“AR_Demo_MVC.zip (7.96 mb)

ActiveReports 报表控件| 下载试用

ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。

您对ActiveReports产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>>技术支持论坛

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态