2013-02-24 90 views
-1

我無法獲得劍道樹來顯示我的生活中的任何數據!我有返回該JSON結構的WebAPI:爲什麼我的劍道樹沒有顯示我的JSON數據?

"Id":3, 
"ParentId":0, 
"FieldName":"", 
"Value":"", 
"OperationId":7, 
"Children":[{ 
    "Id":4, 
    "ParentId":3, 
    "FieldName":"", 
    "Value":"", 
    "OperationId":8, 
    "Children":[{ 
     "Id":5, 
     "ParentId":4, 
     "FieldName":"xyz", 
     "Value":"abcd", 
     "OperationId":5, 
     "Children":null, 
     "HasChildren":false 
      },  
     "Id":6, 
     "ParentId":4, 
     "FieldName":"asdf", 
     "Value":"somedata", 
     "OperationId":5, 
     "Children":null, 
     "HasChildren":false 
     }], 
    "HasChildren":true},{.....blah blah you get the picture 

我的JS如下:

var Tree; 
var Root; 

$(document).ready(function() { 
    Root = new kendo.data.HierarchicalDataSource({ 
      transport: { 
       read: { 
        url: "@Url.Action("GetData", "MyController")", 
        dataType: "json", 
        type: "POST", 
        data: { 'someId': 1 } 
       } 
      }, 
      schema: { 
       model: { 
        id: "Id", 
        hasChildren: "HasChildren" 
       } 
      } 
     }); 

     Tree = $("#treeview").kendoTreeView({ 
      dataSource: Root, 
      dataValueField: "Id", 
      dataTextField: "OperationId",    
     }); 
    }); 

什麼我錯在這裏做什麼?使用json數據進行WebApi調用時,Fiddler和chrome顯示出良好的結果。加載頁面時,Kendo樹形控件顯示「加載」微調器,然後空白。我認真地花了幾個小時。

謝謝!

回答

0

HasChildren屬性似乎是Children屬性的子屬性。它不直接離開類似於ID的層次結構中的頂層對象,這與您的架構定義衝突。這可能是罪魁禍首嗎?

+0

是的,我要說的第一件事就是你的JSON模型是一個錯誤......沒有孩子們的孩子的右花括號。然後,是的,「有孩子」的財產也很奇怪。如果您覺得這些評論不適合您的問題,請發佈實際模型。 – beauXjames 2013-02-24 16:50:20

+0

對象結構如下所示:Object {Id,FieldName,Value,(某些其他屬性),HasChildren,Children(數組)}。這不正確嗎? HasChildren屬性不應該與Children數組處於同一級別嗎? – jermny 2013-02-24 17:01:10

+0

您在問題中提供的示例JSON在Children數組內有HasChildren屬性。也許你沒有在問題中正確粘貼你的JSON數據。 – Ameen 2013-02-24 18:14:48

相關問題