For finer control the viewer can be driven from Angular through a component reference, while the ASP.NET Core controller supplies the dashboard.

The controller backing the viewer.
[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);
}

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

How it works. The backend serves the dashboard while the Angular component reference lets application code invoke viewer API methods directly.

Hi. Need any help?