我实施报告的方式是没有观众,而是向用户呈现可以下载的"pdf"报告.
这是一个场景,用户在线购买产品,在结账过程结束时,通过Telerik报告显示收据.
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)在您的存储库中创建一个生成报告的函数,在这种情况下,报告不直接链接到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报告的下载弹出窗口.
希望这可以帮助.
是的,可以使用 Telerik 报告查看器。这可能会有所帮助:http://www.telerik.com/community/forums/reporting/telerik-reporting/reportviewer-and-asp-net-mvc.aspx
我认为你需要以下内容:
自从我上次使用它(有 MVC 支持)以来,它可能已经发生了变化,但这就是我实现它的方式。虽然已经有一段时间了。
HTH。
| 归档时间: |
|
| 查看次数: |
8373 次 |
| 最近记录: |