我们已经 asp.net web api 支持odata的服务,它支持各种OData格式,例如 application / json; odata = fullmetadata
此服务适用于 WCF数据服务客户端 和 JayData
但我们的回复似乎与我们的 kendo网格数据源无法兼容
我已经调查过这个反应,这就是区别:
正在运行良好的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与我们当前的响应一起使用? 任何其他解决方案都表示赞赏。
请注意,我们已使用type: "odata"
由于
答案 0 :(得分:5)
这是因为KendoUI仍然以OData V2格式进行通信,而您的服务器正在使用OData V3进行通信。
要解决此问题,您可以在服务器端使用V2,或者通过将以下配置添加到数据源对象来优化KendoUI传输如何处理响应:
schema: {
data: function (data) {
return data.value;
},
total: function (data) {
return data['odata.count'];
}
},
因此,剑道网格会理解 总计 将位于响应的 totalCount 部分,而不是" __ count&# 34; 强>