2014-02-23 55 views
0

我傳遞的信息從控制器到視圖,像這樣:綁定劍道DataGrid中使用jQuery

return View(data); 

我怎樣才能在視圖中訪問這些數據,所以數據綁定到KendoDataGrid? 我有以下代碼:

@model IEnumerable<MyCustomerModel> 
<div id="StatementGrid"></div> 
<script> 
    $(document).ready(function() { 
     var lines = [{ TransactionDate: "01/01/2014", TransactionNumber: "001" }];//this works 
     var lines2 = @model //How to pass the model information here? 

     var grid = $("#StatementGrid").kendoGrid({ 
      columns: [ 
       { field: "TransactionDate", title: "Date" }, 
       { field: "TransactionNumber", title: "Transaction Number" } 
      ], 
      dataSource: { 
       data:lines 
       //data:lines2 //this does not work 
      } 
     }); 

    }); 
</script> 

回答

0

可以 Json的編碼模型,並設置你的JavaScript線變量等於像這樣的值:

@model IEnumerable<MyCustomerModel> 


<div id="StatementGrid"></div> 
<script> 
    $(document).ready(function() { 

     var lines = @Html.Raw(Json.Encode(Model)) 

     var grid = $("#StatementGrid").kendoGrid({ 
      columns: [ 
       { field: "TransactionDate", title: "Date" }, 
       { field: "TransactionNumber", title: "Transaction Number" } 
      ], 
      dataSource: { 
       data:lines 
      } 
     }); 

    }); 
</script> 

您必須設置日期數據類型和格式,但它會起作用。話雖如此,我絕對不建議這樣做。相反,我想看看如何在下面的鏈接使用遠程或本地數據綁定Telerik的文檔,並按照他們的指導:

http://demos.telerik.com/kendo-ui/web/grid/remote-data.html

http://demos.telerik.com/kendo-ui/web/grid/local-data.html

+0

謝謝肖恩,這個工作。你可以詳細說明爲什麼這種方法不是一種可接受的方法嗎?是否因爲它不允許在網格上進一步分頁/排序/過濾? – Ben