The Angular report viewer is backed by an ASP.NET Core controller: it initializes the viewer, serves the report, and handles viewer events.

Initialize the viewer and serve the report.
[HttpPost]
public IActionResult InitViewer()
{
    var requestParams = StiAngularViewer.GetRequestParams(this);
    var options = new StiAngularViewerOptions();
    options.Actions.GetReport = "GetReport";
    options.Actions.ViewerEvent = "ViewerEvent";
    return StiAngularViewer.ViewerDataResult(requestParams, options);
}

[HttpPost]
public IActionResult GetReport()
{
    var report = StiReport.CreateNewReport();
    report.Load(StiAngularHelper.MapPath(this, "Reports/MasterDetail.mrt"));
    return StiAngularViewer.GetReportResult(this, report);
}

How it works. The Angular viewer component talks to these controller actions, so the report is served and driven entirely through the .NET backend.

Hi. Need any help?