我在MVC项目中使用html5报表查看器时遇到了这个问题。
无法获取报表参数:无法解析报表'Application.Reports.Report1,WebAppUsingTelerikReport‘。
在控制台中单击错误后,它会指出请求的资源不支持http方法'GET‘
我的ReportsController
public class ReportsController : ReportsControllerBase
{
protected override IReportResolver CreateReportResolver()
{
var appPath = HttpContext.Current.Server.MapPath("~/Reports");
//var reportsPath = Path.Combine(appPath, @"..\..\..\Report Designer\Examples");
return new ReportFileResolver(appPath)
.AddFallbackResolver(new ReportTypeResolver());
}
[System.Web.Http.HttpPost]
protected override ICache CreateCache()
{
return Telerik.Reporting.Services.Engine.CacheFactory.CreateFileCache();
}
}视图
@{
Layout = null;
var typeReportSource = new TypeReportSource() { TypeName = "Application.Reports.Report1, WebAppUsingTelerikReport"
};
}
<script type="text/javascript">
$(document).ready(function () {
debugger;
$("#reportViewer1")
.telerik_ReportViewer({
serviceUrl: "/api/reports/",
templateUrl: '../ReportViewer/templates/telerikReportViewerTemplate-8.2.14.1027.html',
reportSource: {
report: "@typeReportSource",
},
viewMode: telerikReportViewer.ViewModes.INTERACTIVE,
scaleMode: telerikReportViewer.ScaleModes.FIT_PAGE_WIDTH,
scale: 1.0,
ready: function () {
}
});
});
</script>发布于 2014-12-05 16:25:44
听起来像是您指定不接受HTTP GET请求的资源正在被请求。根据您的代码,我预计HTML5报告查看器正在尝试调用CreateCache(),但是您已经指定它应该只接受带有[System.Web.Http.HttpPost]的HTTP POST请求。如果这不是问题所在,请检查是否存在另一个被限制处理GET请求的Controller方法。
使用服务器端的调试器或客户端的浏览器内网络分析器,应该很容易确定是哪个请求的资源导致了问题。
https://stackoverflow.com/questions/27300421
复制相似问题