2

アプリケーションでWEBAPIとともにMVCを使用しています。ポップアップ編集で剣道グリッドを使用しています。データをフェッチしてグリッドをバインドすることができます。しかし、行を編集または削除しようとすると問題が発生します。parameterMapの操作パラメーター:function(options、operation)はcreateとして表示され続け、更新と破棄の場合は同じcreateトランスポートURLがヒットします。

このコードで何が間違っているのですか?

dataSource = new kendo.data.DataSource({
        type: "json",
        transport: {
            read: {
                cache: false,
                url: GETUSER_API_URL,
                contentType: "application/json; charset=utf-8", 
                datatype: "json"
            },
            create: {
                cache: false,
                url: UPDATEUSER_API_URL,
                contentType: "application/json; charset=utf-8",
                type: "POST",
                datatype: "json"
            },
            update: {
                cache: false,
                url: UPDATEUSER_API_URL,
                contentType: "application/json; charset=utf-8",
                type: "POST",
                datatype: "json"
            },
            destroy: {
                url: DELETEUSER_API_URL,
                contentType: "application/json; charset=utf-8",
                type: "POST", 
                datatype: "json"
            },
            parameterMap: function (options, operation) {
                debugger;
                if (operation == "update" || operation == "create") {
                    if (options.models[0].UserProfileId == null && operation != "destroy") {
                        operation = "create";
                    }
                    else {
                        operation = "update";
                    }
                    return kendo.stringify({ models: options.models[0] });
                }
                else if (operation == "destroy") {

                    return kendo.stringify({ models: options.models[0] });
                }
            }
        },
        batch: true,
        pageSize: 10,
        schema: {
            model: {
                id: "UserProfileID",
                fields: {
                    FirstName: { validation: { required: true } },
                    LastName: { validation: { required: true } },
                    EmailId: { nullable: false, validation: { required: true } }
                }
            }
        }
    });

さらに、行データをAPIに送り返すにはどうすればよいですか?

4

1 に答える 1

0

その構成でwebconfigを構成してみてください。

<system.webServer>
  <validation validateIntegratedModeConfiguration="false" />
  <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

同じ問題が発生しましたが<modules runAllManagedModulesForAllRequests="true" /> 、webapiを追加すると正常に機能します。

于 2012-07-29T19:37:35.583 に答える