2011-08-29 54 views
1

當我嘗試在javascript中的Telerik Grid對象上調用.dataBind()時,它會引發異常。我使用的代碼與以前版本的Telerik控件(2010.2.930)一起工作得很好,但自從更新(使用NuGet)到最新版本(2011.2.712)後,代碼已損壞。Telerik MVC Grid客戶端.dataBind()拋出異常

這些是不同瀏覽器上的各種錯誤。

火狐6: this.dataSource是未定義的(telerik.grid.min.js - 第1行)
鉻13:未捕獲的類型錯誤:無法調用未定義(telerik.grid.min的方法 '成功'的.js:1)
IE 9: SCRIPT5007:無法獲取的屬性 '成功' 的值:對象爲空或未定義(telerik.grid.min.js,第1行的字符25697)

我有設法創建一個非常簡單的回購,你需要做的就是把它放在一個新的頁面中:

<div> 
    @(Html.Telerik().Grid(new List<GridData>()) 
     .Name("TestGrid") 
     .Columns(column => 
     { 
      column.Bound(e => e.Name).Title("Name").Width("9em"); 
      column.Bound(e => e.Description).Title("Description").Width("9em"); 
     })) 
</div> 
<p> 
    <a id="getData" href="#">Bind Data</a> 
</p> 

<script type="text/javascript"> 
    (function ($) { 
     $(document).ready(function() { 
      $('#getData').click(bindGridData); 
     }); 
    })(jQuery); 

    var bindGridData = function() { 
     var grid = $("#TestGrid").data("tGrid"); 

     var testData = [ 
      { Name: "Name 1", Description: "Description 1" }, 
      { Name: "Name 2", Description: "Description 2" } 
     ]; 

     grid.dataBind(testData); 
    }; 
</script> 

GridData類只是一個帶有Name和Description字符串屬性的簡單POCO。

回答

相關問題