在ASP.NET中的Kendo UI Grid中实现基本分页时出错

时间:2014-06-02 07:41:35

标签: asp.net kendo-grid paging

我是一个非常新的Kendo UI Grid,所以如果这是一个愚蠢的问题,请原谅。我正在尝试使用分页功能在asp.net中实现基本的Kendo UI Grid。但是我在kendo.web.min.js中遇到错误。

http://localhost:63987/Scripts/kendo/2014.1.318/kendo.web.min.js

第13行第15140行未处理的异常

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

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您需要返回的响应对象应具有正确的属性(数据总计)。

示例:

public class Response<TViewModel>
{
    public object Groups { get; set; }
    public IEnumerable<TViewModel> Data { get; set; }
    public int Total { get; set; }
}

有关详细信息,请参阅github上的此项目。