How to use ASP .NET MVC project in FastReport Mono

2018-10-08

First of all, for programming in C # under Linux you will need to install:

• MonoDevelop - development environment under the Mono framework;

• XSP - a test web server for running ASP .NET applications;

• A "battle" web server, for example, Apache. But this is if you are going to deploy an ASP .NET application.

In our case, only the XSP server is sufficient for development. This is something like IIS Express, only for Mono.

There are a lot of articles on the Internet that demonstrate the installation of MonoDevelop and XSP, so I'll skip this. Let's proceed immediately to creation of the application.

Let's create a new solution. From the File menu, select New Solution ....

Choose ASP .NET MVC Project. The next step is to cancel the Include Unit Test Project. Next, specify the name of the project and the name of the solution, and select the project directory and click Create.

Add libraries to the project in References: FastReport.Mono.dll, FastReport.Web.dll.

Add a new folder App_Data to the project. We will copy the database and report template into it:

Let's edit the controller for the HomeController.cs homepage. Our objective is to create a report object, upload a report and data to it.

1
2
3
4
5
6
7
8
9
10
11
12
13
 public class HomeController : Controller
 {
 public ActionResult Index()
 {
 WebReport report = new WebReport();
 System.Data.DataSet data = new System.Data.DataSet();
 data.ReadXml("App_Data/nwind.xml");
 report.Report.RegisterData(data, "NorthWind");
 report.Report.Load("App_Data/Barcode.frx"); 
 ViewBag.WebReport = report;
 return View();
 }
 }

 Let's take a quick look at the code for the Index page. First, we create an object of a web report. Then create the DataSet and load the XML database into it. After that, we register the data source in the report and load the report template into the report object. In the end, we pass the report to the view through ViewBag.

Now, it's logical to edit the Index.cshtml view:

1
2
3
4
index.chtml
 
<h2>FastReport.Mono!</h2>
@ViewBag.WebReport.GetHtml()

 The code is very simple - header and report. As you can see, the report object is exported to the HTML format for display.

In order for export to work, we need to add handlers in Web.config in the project root:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 <system.web>
 

 
<httpHandlers>
 <add path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport"/>
 

 </httpHandlers>
 </system.web>
 
<system.webServer>
 <handlers>
 <add name="FastReportHandler" path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport"/>
 </handlers>
 <validation validateIntegratedModeConfiguration="false"/>
 </system.webServer>

 There is another Web.config in the Views folder, and it must also be supplemented:            

1
2
3
4
5
<namespaces>

 <add namespace="FastReport" />
 <add namespace="FastReport.Web" />
 </namespaces>

 In the Views-> Shared folder, there is a page template for _Layout.cshtml. Connect it to scripts and styles:

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html>
<head>
 <title>@ViewBag.Title</title>
 <meta charset="utf-8" />
 @WebReportGlobals.Scripts()
 @WebReportGlobals.Styles()
</head>
<body>
 @RenderBody()
</body>
</html>

 That's all. Run the application:

If you worked before with FastReport .NET, then for you there is nothing new in this article. The implementations in FR .NET and FR.Mono are almost identical.

Mono FastReport ASP.NET MVC Mono FastReport ASP.NET MVC
February 20, 2025

Using Dot Matrix Printers for Printing Receipts

This article will explore how to integrate a dot matrix printer into the process of creating and outputting reports using FastReport .NET.
February 17, 2025

Adding New Users to FastReport Cloud

In the Business edition of the FastReport Cloud service, you can add users to a single workspace for simultaneous collaboration.
February 10, 2025

How to Try FastReport .NET WEB Before Purchase

By testing the WEB pack before purchasing, you can make an informed choice about whether FastReport is suitable for you.NET for your tasks.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.