Alan Juden .NET Core Report Viewer 在本地主机中工作,但不在生产环境中工作



我正在实现Alan Juden的MVC报表查看器,并在将项目部署到生产环境时遇到了一些问题。

我已经在我的 .NET Core 应用程序中设置了报表查看器,并且在本地主机中一切正常,但是当我部署到生产环境并尝试加载报表时,我在报表应呈现的页面中收到以下消息:Report failed to load, check report parameters...

当我打开"网络"选项卡下的浏览器开发人员工具时,我可以看到找不到 ViewReportPage 方法,因此返回状态代码 404

Request URL: https://MYDOMAIN/Report/ViewReportPage/?reportPath=%2FGearUpAlumni%2FAlumniData&page=1&
Request Method: GET
Status Code: 404 Not Found
Remote Address: 
Referrer Policy: no-referrer-when-downgrade

所以问题不在于报告需要一个参数(同样,在本地主机中工作正常(,而是在我的ReportController类中找不到ViewReportPage 方法。

这个特殊的方法(ViewReportPage(是由AlanJuden.MvcReportViewer.ReportController实现的,它在我的控制器中继承。

有没有人遇到过类似的问题? 或者也许知道如何解决这个问题来解决问题?

谢谢

我让它工作了。由于我的应用程序已部署到域中的子目录,因此我需要更改 JavaScript 以包含基本路径。

所以基本上从

$.get("Report/ViewReportPage/?reportPath=@Model.ReportPath.UrlEncode()&page=" + page + "&" + urlParams)

@{ 
    string pathBase = Context.Request.PathBase;
}
...
...
$.get("@pathBase/Report/ViewReportPage/?reportPath=@Model.ReportPath.UrlEncode()&page=" + page + "&" + urlParams)

现在,该报告在本地主机和生产环境中运行良好,并且正在调用正确的URL

https://MYDOMAIN/SUBDIRECTORY/Report/ViewReportPage/reportPath=%2FGearUpAlumni%2FAlumniData&page=1&

相关内容

最新更新