我在我的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>
答案 0 :(得分:1)
这听起来像是在请求您指定不接受HTTP GET请求的资源。我希望根据您的代码,HTML5报告查看器试图调用CreateCache()
,但您已指定它只应接受[System.Web.Http.HttpPost]
的HTTP POST请求。如果这不是问题,请检查是否存在另一个限制处理GET请求的Controller方法。
使用服务器端的调试器或客户端的浏览器内网络分析器,应该很容易识别导致问题的请求资源。