2014-12-04 109 views
0

我得到这个,而在我的MVC项目Telerik的Html5的报表查看器“的请求的资源不支持HTTP方法‘GET’”

无法获取报表参数使用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

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

在客户端的服务器端或浏览器内网络分析器上使用调试器,应该很容易确定哪个请求资源导​​致问题。

相关问题