Kendo UI 网格未定义小数

Kendo UI grid undefined decimal

这是我的网格:

    $("#grid").kendoGrid({
    dataSource: {
        type: "odata",
        transport: {
            read: {
                url: '/Discount/Get',
                dataType: "jsonp",
                type: "POST"
            },
            update: {
                url: '/Discount/Update',
                dataType: "jsonp",
                type: "POST"
            },
            destroy: {
                url: '/Discount/Delete',
                dataType: "jsonp",
                type: "POST"
            },
            create: {
                url: '/Discount/Add',
                dataType: "jsonp",
                type: "POST"
            },
            parameterMap: function (options, operation) {
                console.log(operation);
                console.log(options);
                if (operation == "update") {
                    return { discountId: options.models.DiscountId, discountValue: options.models.DiscountValue }
                }
                if (operation == "create") {
                    return JSON.stringify({ discountValue: options.models.DiscountValue, topItemName: options.models.TopItemName });
                }
                if (operation == "destroy") {
                    return { discountId: options.models.DiscountId }
                }
            }
        },
        schema: {
            model: {
                id: "DiscountId",
                fields: {
                    DiscountId: { type: "number" },
                    TopItemName: { type: "string" },
                    DiscountValue: { type: "number" }
                }
            }
        }
    },
    toolbar: ["create", "save", "cancel"],
    height: 400,
    sortable: true,
    pageable: true,
    columns: [
    {
        field: "TopItemName",
        filterable: true
    },
    {
        field: "DiscountValue",
        format: "{0:p0}",
        editor: function (container, options) {
            $("<input name='DiscountValue'>")
            .appendTo(container)
            .kendoNumericTextBox(
              {
                  min: 0,
                  max: 1.0,
                  step: 0.01
              });
        }
    }],
    editable: true
});

在网格中,我有一个自定义编辑器,它将文本框设置为百分比。

在我的 console.log 中,当我进行创建调用时,我得到了这个

   Object {DiscountId: 0, TopItemName: "asdasd", DiscountValue: "0.05"}

所以 DiscountValue 有一个值。但我仍然收到错误消息:

 Uncaught TypeError: Cannot read property 'DiscountValue' of undefined

这是关于 DiscountValue 是浮点值吗?

 Uncaught TypeError: Cannot read property 'DiscountValue' of undefined

此错误并不意味着没有字段 'DiscountValue',它意味着您正在尝试读取 undefined 变量的 属性。

所以如果错误来自这里:

options.models.DiscountValue

表示options.models未定义

您的日志输出打印了 options 的定义,而不是 options.models。 您可能会混淆 options.DiscountValue ?