Обновление в сетке кендо в мобильном приложении не отправляет модель

Я пытаюсь обновить строку из сетки в мобильном приложении, но модель не отправляется на сервер.

Я использую кендо 2015.1.429

Моя точка зрения такова:

<div data-role="view" data-init="initGrid" data-stretch="true">
    <div data-role="header">
    </div>
    <div id="grid">
    </div>
</div>
    <script type="text/javascript">
    function initGrid() {

        var dataSource3 = new kendo.data.DataSource({
            transport: {
                read: {
                    url:  "@Url.Action("GetAll")",
                    dataType: "json"
                },
                update: {
                    url: "@Url.Action("Update")",
                    dataType: "json"
                },
                destroy: {
                    url: "@Url.Action("Destroy")",
                    dataType: "json"
                },
                create: {
                    url: "@Url.Action("Create")",
                    dataType: "json"
                },
                parameterMap: function (options, operation) {
                    if (operation !== "read" && options.models) {
                        return { models: kendo.stringify(options.models) };
                    }
                }
            },
            batch: false,
            schema: {
                data:"Data",
                model: {
                    id: "ID",
                    fields: {
                        ID: { type: "number", editable: false, nullable: false },
                        Name: { type: "string" }

                    }
                }
            }
        });

        $("#grid").kendoGrid({
            dataSource:dataSource3,
            pageable: true,
            mobile: "tablet",
            height: kendo.support.mobileOS.wp ? "24em" : 430,
            resizable: true,
            editable: {
                mode: "popup"

            },
            toolbar: ["create"],
             columns: [
                        { field: "ID", title: "ID", width: 200},
                        { field: "Name", title: "Name"},       
                        { command: ["edit", "destroy"] } 
                      ]
        });
  }
</script>

Метод обновления в контроллере таков:

 public ActionResult Update([DataSourceRequest] DataSourceRequest request, Model viewModel)
        {

            return Json(new[] { viewModel }.ToDataSourceResult(request, ModelState));

        }

‹--EDITED 2 --> Я видел в Fiddler, что данные не отправляются в мой метод Update.

Что я забыл сделать? Что я делаю не так?


person Gringo    schedule 09.06.2015    source источник
comment
Вы говорите, что viewModel равно нулю?   -  person jwatts1980    schedule 09.06.2015
comment
Как выглядит структура Model?   -  person jwatts1980    schedule 10.06.2015
comment
Структура модели: общедоступная модель класса { public int ID { get; установлен; } публичное имя строки { получить; установлен; } }   -  person Gringo    schedule 10.06.2015
comment
Мои извинения, я снова редактирую свой вопрос, потому что я писал неверную информацию о данных, отправляемых на сервер.   -  person Gringo    schedule 10.06.2015


Ответы (1)


Если я удалю карту параметров

  parameterMap: function (options, operation) {
                    if (operation !== "read" && options.models) {
                        return { models: kendo.stringify(options.models) };
                    }
                }

Это работает фантастически.

Спасибо!

person Gringo    schedule 09.06.2015