我正在尝试将KendoUI(没有服务器包装器)集成到我的ASP.NET MVC应用程序中:
这是HTML文件(只需要代码):
<div id="example" class="k-content">
<div id="clientsDb">
<div id="grid" style="height: 380px"></div>
</div>
<script>
$(document).ready(function () {
$("#grid").kendoGrid({
dataSource: {
type : "json",
transport : {
read : {
url : "data.json",
type : "POST",
dataType: "json"
},
contentType: "application/json"
},
schema : {
data : "data",
total: "total"
},
pageSize : 10,
serverPaging : true,
serverFiltering: true,
serverSorting : true
},
height : 430,
groupable : false,
sortable : false,
pageable : true,
columns : [
{
field: "PageUrl",
title: "PageUrl",
width: 140
},
{
field: "Id",
title: "Id",
width: 190
}
]
});
});
</script>
</div>
以下是“MyContollerName”的“ActionMethodName”方法返回的JSON结果:
{
"Data" : [
{ "Id" : 30, "PageUrl": "http://www.someurl.com" },
{ "Id" : 29, "PageUrl": "http://www.someurl.com/" },
{ "Id" : 26, "PageUrl": "http://www.someurl.com" }
],
"Total": 10
}
但没有渲染(渲染网格,结果不是)。获得无限渲染的“加载”图标。你能帮忙吗?
我也遇到以下JS错误:“TypeError:无法调用undefined /Scripts/kendo/2013.3.1119/kendo.web.min.js:13”的方法'slice'
答案 0 :(得分:3)
在您定义的模式中,当您使用大写字母返回数据时,数据处于名为data
(小写)的内容中。
将架构更改为:
schema : {
data : "Data",
total: "total"
},
它会起作用。