在 MVC 3 Razor 模板中使用 ActiveReports

发布时间:2013/02/26 00:02 发布者:iceman

返回博客中心

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)


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网