Overview
The Report Viewer for ASP.NET MVC is a reporting component that displays SSRS, RDL, RDLC, and Bold Reports® Server reports inside System.Web-based ASP.NET MVC applications. You add it to a Razor view when your application needs to show operational or analytical reports to end users without leaving the MVC request pipeline.
This page introduces what the Report Viewer does in an ASP.NET MVC application, the capabilities it provides, and where to go next to add it to your project.
What is Report Viewer?
Report Viewer for ASP.NET MVC combines a server-side ReportViewer HTML helper with a client-side rendering engine. The server side runs as an ASP.NET MVC or Web API controller that implements IReportController, processing report requests and returning rendered output back to the browser. The client side handles layout, pagination, parameter prompts, and export requests without full-page postbacks.
You can point the Report Viewer at a local RDL or RDLC file, a report deployed on an SSRS report server, or a report hosted on Bold Reports® Server. It does not require SSRS or Bold Reports® Server to function, since local RDL and RDLC files can be processed directly within your MVC application. Report authoring is handled separately by Report Designer; Report Viewer is focused on displaying and interacting with already-built reports.
With Report Viewer, you can
- Display RDL and RDLC reports with or without connecting to SSRS or Bold Reports® Server.
- Bind data sources and report parameters, and pass parameter values at run time.
- Export reports to PDF, Microsoft Excel, CSV, Microsoft Word, and HTML.
- Customize the viewer’s UI elements and hook into report-processing events.
Key features
Interactive report rendering
- Drill-down and drill-through navigation.
- Hyperlink navigation within report content.
- Interactive column sorting.
System.Web (ASP.NET MVC) integration
- Built for the ASP.NET MVC (System.Web) pipeline, distinct from the ASP.NET Core version of the component.
- Uses the
ReportViewerHTML helper and anIReportControllerimplementation. - Fits into existing MVC 5 applications running on .NET Framework.
Customizable UI and events
- Customize elements such as the toolbar and parameter panel.
- Subscribe to events for report-processing customization at each stage of the report lifecycle.
Multi-format export
- Export to PDF, Microsoft Excel, CSV, Microsoft Word, and HTML.
- Share or archive report output outside the viewer.
Common use cases
Embedding operational reports
- Add the Report Viewer to a Razor view.
- Show operational reports, such as invoices or order summaries, inside an existing ASP.NET MVC application.
Viewing SSRS reports without a report server dependency
- Display RDL reports processed locally.
- Show report content even when an SSRS report server isn’t reachable.
Parameter-driven reporting
- Let users filter report data by binding report parameters.
- Pass parameter values at run time so one report definition serves multiple scenarios.
Report distribution through export
- Give end users a way to take report content outside the application for offline review or printing.
- Support sharing report output with stakeholders who don’t use the application directly.
Who should use this guide?
This guide is intended for:
- ASP.NET MVC developers adding report display capabilities to a System.Web application.
- Developers migrating reporting functionality from SSRS-based viewers to Bold Reports®.
- Solution architects evaluating reporting components for .NET Framework MVC applications.
- Report authors who need to understand how their RDL or RDLC reports will be consumed in an MVC application.
Prerequisites
Before you begin:
- An ASP.NET MVC 5 application targeting .NET Framework.
- Bold Reports® MVC NuGet packages configured in your project.
- An RDL or RDLC report file, or access to an SSRS report server or Bold Reports® Server, depending on where your reports are hosted.
No SSRS or Bold Reports® Server installation is required if you only need to display local RDL or RDLC report files.
Considerations and limitations
- The Report Viewer targets ASP.NET MVC (System.Web) applications; ASP.NET Core applications use a separate version of the component.
- RDL specification support does not extend to SQL Server 2000 and SQL Server 2005.
- Some expressions, such as certain object and VB functions, do not have complete support.
- SSRS report servers do not expose data source credentials, so shared data source credentials must be configured for each report data source individually.
FAQ
Does the Report Viewer require SSRS or Bold Reports® Server?
No. You can display local RDL and RDLC report files without connecting to SSRS or Bold Reports® Server. Connecting to a report server is only needed when your reports are hosted there.
Can the ASP.NET MVC Report Viewer run on ASP.NET Core?
No. This version targets the ASP.NET MVC (System.Web) pipeline on .NET Framework. ASP.NET Core applications use the separate ASP.NET Core Report Viewer component.
What report formats does the Report Viewer support?
It supports RDL and RDLC report definitions, including reports deployed to an SSRS report server or Bold Reports® Server.
Which formats can users export reports to?
Users can export displayed reports to PDF, Microsoft Excel, CSV, Microsoft Word, and HTML.
Can I use the Report Viewer without Report Designer?
Yes. Report Viewer only displays existing RDL or RDLC reports. You do not need Report Designer unless you also need to author or edit report definitions.
Getting help
If you run into an issue while integrating the Report Viewer into your ASP.NET MVC application, check the getting started guide and how-to articles linked below first. If you still need assistance, contact Bold Reports® support by creating a support ticket.
Related articles
- Getting started with Report Viewer to add the component to a new MVC 5 project.
- Report parameters to learn how to bind and pass parameter values at run time.
- Export report to configure which export formats are available to users.
- Samples and demos to explore working examples before you build your own.
- Limitations to review known constraints before relying on advanced report layouts.
- Frequently asked questions for answers to common ASP.NET MVC integration questions.
- System requirements to confirm supported .NET Framework and browser versions.