我们有asp.net web api odata启用服务,支持各种OData格式,如application/json; odata = fullmetadata
这项服务适用于WCF数据服务客户端和JayData
但是我们的响应似乎与我们的kendo网格dataSource不兼容
我已经调查了响应,这是区别的:
kendoUI网站的演示工作正常有以下响应:
"__count": "91"
响应内容类型是: text/javascript;charset=utf-8
您可以在以下位置查看kendo UI演示示例:
http://demos.kendoui.com/web/grid/index.html
这是我们的回应:
"odata.metadata":"http://localhost:2452/odata/$metadata#VehicleGroups","odata.count":"29","value":[
响应内容类型是: application/json; odata=fullmetadata; charset=utf-8
我可以使用生成所需格式的ODataMediaTypeFormatter吗?或者是否有任何解决方案可以使KendoDataSource与我们当前的响应一起使用?任何其他解决方案表示赞赏
请注意,我们已为KendoDataSource启用了OData type: "odata"
谢谢
这是因为KendoUI仍然以OData V2格式进行通信,而您的服务器正在使用OData V3进行操作.
要解决此问题,您可以在服务器端使用V2,或者通过将以下配置添加到数据源对象来优化KendoUI传输如何处理响应:
schema: { data: function (data) { return data.value; }, total: function (data) { return data['odata.count']; } },
因此,剑道网格将了解总数将在响应的totalCount部分而不是"__count"