将kendo.data.datasource json数据绑定到kendo listview

时间:2013-06-04 16:51:25

标签: json listview kendo-ui

Category1有效但类别没有。两者都有相同的数据。但类别是json的回应。 类别是

{
    "d": [
        {"__type": "MenuData+Category", "id": 1, "name": "drinks"},
        {"__type": "MenuData+Category", "id": 2, "name": "fruits"}
    ]
}

我是否删除d。如果是这样我该怎么办?如果不是什么错?

    <div id="categories" data-role="view" data-title="Categories">
        <header data-role="header">
            <div data-role="navbar">
                <span data-role="view-title"></span>
            </div>
        </header>
        <ul id="Ul1"
            data-role="listview" 
            data-source="category" [NOTE: Changing this datasource to category1 works]
            data-template="categories-template" 
            data-style="inset">
        </ul>
    </div>
    <script id="categories-template" type="text/x-kendo-template">
        #: name #
    </script>

    <script>  

        var app = new kendo.mobile.Application(),
        category = new kendo.data.DataSource({
            serverFiltering: true,
            transport: {
                read: {
                    type: "POST",
                    url: "http://localhost:60143/Mobile/Menu/MenuData.asmx/getCategory",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    error: function (xhr, ajaxOptions, thrownError) {
                        alert("error " + xhr.responseText);
                    }
                },
                schema: {
                    data: "d"
                },
                type: "json",
                parameterMap: function (options) {
                    return JSON.stringify(options);
                }
            }
        }),
        category1 = new kendo.data.DataSource({
            data: [
                { id: 1,name: "Fruits" },
                { id: 2,name: "Drinks" },
            ]
        });

    </script>

1 个答案:

答案 0 :(得分:1)

schema定义transport定义DataSource成员category = new kendo.data.DataSource({ serverFiltering: true, transport : { read: { type : "POST", url : "http://localhost:60143/Mobile/Menu/MenuData.asmx/getCategory", contentType: "application/json; charset=utf-8", dataType : "json", error : function (xhr, ajaxOptions, thrownError) { alert("error " + xhr.responseText); } } }, schema : { data: "d" }, type : "json", parameterMap : function (options) { return JSON.stringify(options); } });

尝试:

{{1}}