我是一个非常新的Kendo UI Grid,所以如果这是一个愚蠢的问题,请原谅。我正在尝试使用分页功能在asp.net中实现基本的Kendo UI Grid。但是我在kendo.web.min.js中遇到错误。
http://localhost:63987/Scripts/kendo/2014.1.318/kendo.web.min.js
0x800a01b6 - Microsoft JScript运行时错误:对象不支持属性或方法'slice'。
这是行
n._pristineData=e.slice(0)
,此处'e'是具有'Count'和'Data'属性的对象,我正在从我的web api返回。
以下是我的网络API代码:
StudentController:
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
我错过了什么吗?
答案 0 :(得分:0)
您需要返回的响应对象应具有正确的属性(数据和总计)。
示例:
public class Response<TViewModel>
{
public object Groups { get; set; }
public IEnumerable<TViewModel> Data { get; set; }
public int Total { get; set; }
}
有关详细信息,请参阅github上的此项目。