2013-02-24 91 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

相关问题