Telerik Html5报告查看器“请求的资源不支持http方法'GET'”

时间:2014-12-04 17:36:45

标签: html5 telerik telerik-reporting

我在我的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>

1 个答案:

答案 0 :(得分:1)

这听起来像是在请求您指定不接受HTTP GET请求的资源。我希望根据您的代码,HTML5报告查看器试图调用CreateCache(),但您已指定它只应接受[System.Web.Http.HttpPost]的HTTP POST请求。如果这不是问题,请检查是否存在另一个限制处理GET请求的Controller方法。

使用服务器端的调试器或客户端的浏览器内网络分析器,应该很容易识别导致问题的请求资源。