2015-11-06 135 views
0

我爲我的劍道MVC網格創建了自定義數據源。 Everythink正在工作,數據正在從服務器回來。但是在網格中只顯示空單元格。這樣的形象: Empty cells 代碼MVC格:MVC Kendo網格自定義數據源

  @(Html.Kendo().Grid<PageViewModel>() 
       .Name("pageGrid") 
       .Columns(columns => 
       { 
        columns.Bound(item => item.Name).Width(100); 
       }) 
       .DataSource(dataSource => dataSource.Custom() 
         .Type("aspnetmvc-ajax") 
         .PageSize(10) 
         .ServerPaging(true) 
         .ServerSorting(true) 
         .ServerFiltering(true) 
         .Transport(transport => transport 
          .Read("ReadPages", "Page") 
         ) 
         .Schema(schema => schema 
          .Data("result.data") 
          .Total("result.total") 
          .Errors("result.errors") 
          .Model(m => m.Id(p => p.Name)) 
         ) 
      ) 
     ) 

當我做同樣的使用JavaScript,它的工作原理和數據顯示。

var dataSource = new kendo.data.DataSource({ 
    transport: { 
     read: { 
      url: "@Url.Action("ReadPages", "Page")", 
      type: "post", 
      dataType: "json" 
     } 
    }, 
    schema: { 
     data: "result.data", 
     total: "result.total" 
    } 
}); 

var grid = $("#pageGrid2").kendoGrid({ 
    dataSource: dataSource 
}); 

問題在哪裏?謝謝!

編輯:我得到這個迴應:

{ 
    "success": true, 
    "result": { 
    "data": [ 
     { 
     "id": "1", 
     "name": "Test", 
     "content": "Test obsahu", 
     "url": "test", 
     "title": "test", 
     "description": "test" 
     }, 
     { 
     "id": "7", 
     "name": "Jmeno", 
     "content": "htmlfdgsrg erg erger", 
     "url": "test2", 
     "title": "test", 
     "description": "Desc grid" 
     } 
    ], 
    "total": 2, 
    "aggregateResults": null, 
    "errors": null 
    }, 
    "error": null, 
    "unAuthorizedRequest": false 
} 
+0

什麼是使用自定義的原因綁定而不是ajax綁定? – k4st0r42

+0

因爲我使用包含有關身份驗證的附加數據的響應的框架。 –

+0

您能向我們展示來自Page/ReadPages的http響應的示例嗎? – k4st0r42

回答

1

也許屬性名稱不客戶方和服務器端之間的匹配,試試這個:

.Model(m => 
{ 
    m.Id(p => p.Name); 
    m.Field(p => p.Name).From("name"); 
})