为什么我的剑道树没有显示我的JSON数据?

时间:2013-02-24 16:41:08

标签: javascript json asp.net-mvc kendo-ui kendo-treeview

我无法获得一个剑道树来显示我生命中的任何数据!我有一个返回此JSON结构的WebApi:

"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",               
        });
    });

我在这里做错了什么? Fiddler和chrome通过使用json数据的WebApi调用显示了良好的结果。页面加载时,Kendo树控件显示加载微调器,然后它空白。我认真地花了好几个小时。

谢谢!

2 个答案:

答案 0 :(得分:1)

我认为演示@ http://demos.kendoui.com/web/treeview/remote-data.html应该会向您展示您需要知道的所有内容。

答案 1 :(得分:0)

HasChildren属性似乎是Children属性的子属性。它不直接脱离层次结构中的顶级对象,类似于与您的架构定义冲突的ID。这可能是罪魁祸首吗?