2014-04-25 157 views
1

我想在我的MVC 4項目上顯示telerik HTML5報告查看器小部件。我有部分div中定義的報告查看器,如下所示。Telerik HTML5報告查看器不拋出報告實例錯誤

@(Html.TelerikReporting().ReportViewer() 
    .Id("reportViewer1") 
    .ServiceUrl("/api/reports/") 
    .TemplateUrl("/ReportViewer/templates/telerikReportViewerTemplate.html") 
    .ReportSource(new TypeReportSource() { TypeName = "DialerReports.ReportCatalog, DialerReports" }) 
    .ViewMode(ViewModes.INTERACTIVE) 
    .ScaleMode(ScaleModes.SPECIFIC) 
    .Scale(1.0) 
    .PersistSession(false) 

我也跟着上了Telerik的網站上設立所以是JavaScript文件包含在項目的指南。我確實將它們放置在MVC包中,而不是直接放入,但我不確定這是否會產生影響。

我遇到的問題是這樣的。當網頁加載錯誤時,會從JavaScript運行時錯誤報告Viewer.js文件中拋出:無報告實例。我正在使用報告查看器的8.0.14版本,並且我知道錯誤意味着實例未定義,但我無法確切知道報告實例定義在哪裏以解決此問題。任何人都可以對此有所瞭解嗎?

回答

1

在我的情況下,我使用ASP .Net MVC 4項目模板 - 它帶有jQuery v1.7.1。 Telerik報告至少需要jQuery v1.9。我更新jQuery到2.1 - 和js運行時錯誤消失了。

+0

是的Telerik支持也建議,我會發布什麼解決方案原來是在下面 – theDarse

1

好這個問題,實際上造成的,因爲我在routeconfig.cs文件更改的默認路由是:

config.Routes.MapHttpRoute(
     name: "ActionsApi", 
     routeTemplate: "api/{controller}/{action}/{id}/{id1}/{id2}/{id3}", 
     defaults: new { 
      controller = "Actions", 
      id = RouteParameter.Optional, id1 = RouteParameter.Optional, id2 =  RouteParameter.Optional, id3 = RouteParameter.Optional } 
    ); 

然後添加你應該在這之後的另一條路線有默認路由配置。問題實際上是telerik報表查看器api試圖使用上面的路徑路徑,而不是正確的路徑路徑。 Jquery實際上正在拋出正確的錯誤,因爲報告API沒有報告實例。