Kendo ui kendoGrid 2013.1.319通过ASP.NET MVC 4 web api控制器使用OData的CRUD一般问题

Kendo ui kendoGrid 2013.1.319通过ASP.NET MVC 4 web api控制器使用OData的CRUD一般问题,kendo-ui,Kendo Ui,由于我试图在kendoui论坛上写作,但得到的答案是“购买一个报告bug的许可证”,我想问是否有人在使用kendoGrid 2013.1.319时遇到过同样的问题。因为我在“星期日测试应用程序”中使用它,所以一点也不着急 我在剑道论坛上的原始信息是: 你好 我已经用最新版本更新了剑道网格,突然我的应用程序在数据操作方面遇到了问题。问题似乎出在客户端,因为我正确地接收到GET、PUT、POST和DELETE动词的请求,但网格不会更新其状态 我通过一个API服务使用ASP.NETMVC4OData实

由于我试图在kendoui论坛上写作,但得到的答案是“购买一个报告bug的许可证”,我想问是否有人在使用kendoGrid 2013.1.319时遇到过同样的问题。因为我在“星期日测试应用程序”中使用它,所以一点也不着急

我在剑道论坛上的原始信息是:

你好

我已经用最新版本更新了剑道网格,突然我的应用程序在数据操作方面遇到了问题。问题似乎出在客户端,因为我正确地接收到GET、PUT、POST和DELETE动词的请求,但网格不会更新其状态

我通过一个API服务使用ASP.NETMVC4OData实现

例如:如果我删除2行并按save,则会进行删除调用,客户端网格会隐藏这些行,但如果我再次按save,则会继续调用delete

更新/创建时也存在同样的问题,单元格仍保留红色角,保存后,数据仍像第一次一样提交

我注意到,当我收到dataSource上的回调时:

requestEnd: function (e) {
            if (e.type === "update" || e.type === "create") {
                // Refresh data after changes
                this.read();
            }
        }
e、 插入或更新记录时,类型始终未定义

这是我的数据源配置:

dataSource: {
            type: 'odata', // <-- Include OData style params on query string
            transport: {
                read: {
                    url: $("#contactsGrid").attr("data-api-crud"),
                    dataType: "json", // <-- The default is "jsonp".
                    type: "GET"
                },
                update: {
                    url: $("#contactsGrid").attr("data-api-crud"),
                    dataType: "json", // <-- The default is "jsonp".
                    type: "POST"
                },
                create: {
                    url: $("#contactsGrid").attr("data-api-crud"),
                    dataType: "json", // <-- The default is "jsonp".
                    type: "PUT"
                },
                destroy: {
                    url: function (data) {
                        return $("#contactsGrid").attr("data-api-crud") + "/" + data.Id;
                    },
                    dataType: "json", // <-- The default is "jsonp".
                    type: "DELETE"
                },
                parameterMap: kendo.data.transports.odata.parameterMap
            },
            schema: {
                // The array of repeating data elements (items)
                data: "Results",
                // The total count of records in the whole dataset. used for paging.
                total: "Count",
                model: {
                    id: "Id",
                    fields: {
                        Dealer: { type: "string", editable: true },
                        Address: { type: "string", editable: true }
                    }
                }
            },
            pageSize: 50,
            serverPaging: true,
            serverFiltering: true,
            serverSorting: true,
            requestEnd: function (e) {
                if (e.type === "update" || e.type === "create") {
                    // Refresh data after changes
                    this.read();
                }
            }
        }
数据源:{

键入:'odata',//Kendo UI团队刚刚发布了一篇关于如何使用JayData库来简化数据源配置的文章。希望它能帮助您。

Kendo UI团队刚刚发布了一篇关于如何使用JayData库来简化数据源配置的文章。希望它能帮助您。

了解更多信息,你是说它以前在旧版本的剑道上工作,但现在在2013.1中不工作了,还是你从来没有这样工作过?听起来是这样的:尝试不返回空响应。这段代码在上一个主要版本中正常工作。因为它调用web api来更新数据,所以我返回了一条带有Status的HttpResponseMessagesCode=HttpStatusCode.OK,如果成功,但未设置响应内容。读取由直接从控制器公开的IQueryable完成(工作正常,分页等).为了澄清,您是说它以前在旧版本的剑道上工作,但现在在2013.1中不工作了,还是您从来没有这样工作过?听起来像这样:尝试不返回空响应。此代码用于在上一个主要版本中正常工作。因为它调用web api来更新数据,所以我返回一个HttpResponse成功时,消息的StatusCode=HttpStatusCode.OK,但未设置响应内容。读取由直接从控制器公开的IQueryable完成(工作正常,分页等)。