0

詳細を説明する方法がわかりません。このビデオでエラーが表示されます: http ://www.youtube.com/watch?v = D6NPd-j2erg&feature = youtu.be そしてこれは私が使用するコードです:

$(document).ready(function () {
    var dataSource = new kendo.data.DataSource({
        transport: {
            read: {
                url: "/customer/get",
                dataType: "json",
                type: "POST"
            },
            update: {
                url: "/customer/edit",
                dataType: "json",
                type: "POST"
            },
            destroy: {
                url: "/customer/delete/",
                dataType: "json",
                type: "POST"
            },
            create: {
                url: "/customer/add",
                dataType: "json",
                type: "POST"
            }
        },
        batch: false,
        pageSize: 20,
        serverPaging: true,
        serverFiltering: true,
        serverSorting: true,
        schema: {
            data: "Data",
            total: "Total",
            model: {
                id: "CustomerId",
                fields: {
                    CustomerId: { editable: false, nullable: true },
                    Name: { validation: { required: true } },
                    Code: { type: "string", editable: false }
                }
            }
        }
    });

    $("#grid").kendoGrid({
        dataSource: dataSource,
        height: 430,
        filterable: true,
        sortable: true,
        pageable: {
            refresh: true,
            pageSizes: [10, 20, 30],
            buttonCount: 10
        },
        toolbar: ["create"],
        columns: [
            { field: "Name", title: "Name" },
            { field: "Code", title: "CODE", width: "100px" },
            { command: ["edit", "destroy"], title: " ", width: "200px" }],
        editable: "popup"
    });
});

間違えましたか?次のように剣道UIライブラリを追加しました。

<script src="/Scripts/kendo/2013.1.319/jquery.min.js"></script>
<script src="/Scripts/kendo/2013.1.319/kendo.all.min.js"></script>
<script src="/Scripts/kendo/2013.1.319/kendo.aspnetmvc.min.js"></script>
<script src="/Scripts/kendo.modernizr.custom.js"></script>
4

1 に答える 1

4

実際、KendoQ12013バージョン2013.1.319に影響を与えるjQueryの新しいバージョンには重大な変更があります

http://jquery.com/upgrade-guide/1.9/#jquery-ajax-returning-a-json-result-of-an-empty-string

すべてがサーバー側で適切に実行された場合にサーバーから空の結果が返されるため、空の結果が有効なjsonではないため、エラーイベントが発生します。

これを回避するには、サーバーから空の配列を返すことをお勧めします。

使用できる拡張機能を使用するASP.NETユーザーの場合:

Json(new object [0] .ToDataSourceResult(request、ModelState));を返します。

基本的に、更新/削除操作後のサーバーからの有効な結果は、次のようになります。

{"Data":[],"Total":0,"AggregateResults":null,"Errors":null}

これは、次の内部ビルドでASP.NET MVCユーザーのToDataSourceResult拡張機能によって内部的に解決され(おそらく明日追加されます)、ドキュメントの重大な変更/トラブルシューティングのセクションにも追加されます。

于 2013-03-26T16:18:23.047 に答える