Telerik在ASP.NET MVC项目中报告

sus*_*ose 5 asp.net-mvc

任何人都可以帮助我在ASP.NET MVC项目中实现telerik报告吗?

Igo*_*ous 6

我实施报告的方式是没有观众,而是向用户呈现可以下载的"pdf"报告.

这是一个场景,用户在线购买产品,在结账过程结束时,通过Telerik报告显示收据.

  1. 在项目中添加对Telerik报告程序集的引用.
  2. 创建报告.Telerik TV提供了一些关于Telerik报告入门的精彩教程.
  3. Controller将调用存储库,并将字节流提供回浏览器.

    public virtual ActionResult DownloadReceiptReport(Order model)
    {
         byte[] contents = ShoppingCartRepository.GetReceiptReport(model);
         return File(contents, "application/pdf", "Receipt.pdf");
    }
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在您的存储库中创建一个生成报告的函数,在这种情况下,报告不直接链接到sqldatasource,数据源正在提供一个objectdatasource组件:

    public byte[] GetReceiptReport(Order order)
    {
        Telerik.Reporting.ObjectDataSource objectDataSource = new Telerik.Reporting.ObjectDataSource();
        objectDataSource.DataSource new PurchaseReceiptReportModel() 
        {
            CustomerName = order.CustomerName, 
            Total= order.Total, 
            PurchaseDate= DateTime.Now
        };
    
        PurchaseReceiptReport report = new PurchaseReceiptReport();
        report.DataSource = objectDataSource;
    
        ReportProcessor reportProcessor = new ReportProcessor();
        RenderingResult result = reportProcessor.RenderReport("PDF", report, null);
        return result.DocumentBytes;
    }
    
    Run Code Online (Sandbox Code Playgroud)

最后,用户将收到一个带有pdf报告的下载弹出窗口.

希望这可以帮助.


Bri*_*ins 2

是的,可以使用 Telerik 报告查看器。这可能会有所帮助:http://www.telerik.com/community/forums/reporting/telerik-reporting/reportviewer-and-asp-net-mvc.aspx

我认为你需要以下内容:

  • 使用网络表单,而不是视图(它可能与视图一起使用,不记得了
  • 与 runat='服务器'

自从我上次使用它(有 MVC 支持)以来,它可能已经发生了变化,但这就是我实现它的方式。虽然已经有一段时间了。

HTH。