2

私は、これらのものがすでにたくさんあることを知っています。ただし、SO の投稿、フォーラム、剣道 UI サイトを何十回も試しましたが、まだ機能しません。私はこれでロープの終わりにいます。どんな助けでも大歓迎です。

これが私のdataSource宣言です:

    var dataSource = new kendo.data.DataSource({
        transport: {
            read: function(options) {
                    $.ajax( {
                            type: "POST",
                            url:  "DepartmentHome.aspx/GetMembers",
                            data: options.data,
                            contentType: "application/json; charset=utf-8",
                            dataType: "json",
                            success: function (msg) {
                                options.success(msg.d);
                                alert(msg.d);
                            }
                        });
            }

        },
        pageSize: 20,
        schema: {
            model: {
                fields: {
                    FirstName: { validation: { required: true} },
                    LastName: { validation: { required: true} }
                }
            }
        }
    });

データソースを使用したグリッド宣言は次のとおりです。

    $("#grid").kendoGrid({
        dataSource: dataSource,
        scrollable: true,
        groupable: false,
        sortable: true,
        pageable: {
            refresh: true,
            pageSizes: true
        },
        height: 430,
        toolbar: ["create"],
        columns: [
            { field: "FirstName", title: "First Name", width: "100px" },
            { field: "LastName", title: "Last Name", width: "100px" },
            { command: ["edit", "destroy"], width: "160px" }
            ],
        editable: {
            mode: "popup",
            confirmation: "Are you sure?"
        }
    });

データソース宣言で呼び出している WebMethod の背後にあるコードは次のとおりです。

    [WebMethod]
    public static string GetMembers()
    {
        var serializer = new JavaScriptSerializer();
        string json = serializer.Serialize(new { FirstName = "John", LastName = "Smith" });
        return json; 
    }

データ ソースに入力したアラートが正しいデータを示しているため、WebMethod にヒットしていることがわかります。

ここに画像の説明を入力

firebug を使用すると、応答ヘッダーは次のようになります。 ここに画像の説明を入力

実際の応答は次のようになります。
ここに画像の説明を入力

ただし、グリッドには次のようなデータは表示されません。 ここに画像の説明を入力

注: 何らかの理由で、グリッドは右下隅に 39 個のアイテムがあると認識しています。

明らかな何かが欠けていますか?これを行う簡単な方法はありますか?

4

2 に答える 2

2

data: options.dataの代わりにdata: "d"を使用しますか?

そして、スキーマ定義の 2 つのフィールドのデータ型としてstringを追加します。

于 2013-11-16T23:56:00.197 に答える