我是非常新的 Kendo UI Grid,所以如果这是一个愚蠢的问题,请原谅我。我正在尝试在 asp.net 中实现具有分页功能的基本 Kendo UI 网格。但我在 kendo.web.min.js 中遇到错误。
http://localhost:63987/Scripts/kendo/2014.1.318/kendo.web.min.js
中第 13 行第 15140 列未处理的异常
0x800a01b6 - Microsoft JScript 运行时错误:对象不支持属性或方法“切片”。
这是线
n._pristineData=e.slice(0)
,这里的“e”是具有“Count”和“Data”属性的对象,我从 Web api 返回该对象。
下面是我的网络API代码:
学生控制器:
namespace KendoUIGridDemo
{
public class StudentController : ApiController
{
private static IEnumerable<Student> students = new Student[]
{
new Student{ ID=1,Marks=70, Name="xxxx", Result=true},
new Student{ ID=1,Marks=34, Name="xxxx", Result=false}
};
// GET api/<controller>
public Response Get(int skip,int take)
{
return new Response(students.ToArray(), students.Count());
}
}
型号:
public class Student
{
public int ID { get; set; }
public string Name { get; set; }
public string Standard { get; set; }
public double Marks { get; set; }
public bool Result { get; set; }
}
public class Response
{
public int Count { get; set; }
public Array Data { get; set; }
public Response(Array data, int count)
{
this.Data = data; this.Count = count;
}
}
.aspx 页面:
<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
<script src="Scripts/jquery-1.9.1.min.js"></script>
<script src="Scripts/kendo/2014.1.318/kendo.web.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#studentGrid").kendoGrid({
dataSource: new kendo.data.DataSource({
transport: {
read: "api/Student"
},
pageSize: 10,
serverPaging: true
}),
sortable: true,
pageable: true
});
});
</script>
Kendo UI Grid demo
<div id="studentGrid">
</div>
</asp:Content>
我正在使用“2014.1.318”版本的 Kendo UI 网格和“jquery-1.9.1.min”版本。
我以下作为参考
http://docs.telerik.com/kendo-ui/tutorials/asp.net/hello%20kendo%20ui/asp-net-hello-kendo-ui-part-1
我错过了什么吗?
您需要返回的响应对象应该具有正确的属性(Data和Total)。
示例:
public class Response<TViewModel>
{
public object Groups { get; set; }
public IEnumerable<TViewModel> Data { get; set; }
public int Total { get; set; }
}
有关更多详细信息,请参阅 github 上的此项目。