KendoUI分页抛出异常并且不显示页面信息

时间:2014-02-26 23:29:07

标签: asp.net-mvc-4 kendo-ui pagination

我正在尝试使用服务器端分页的KendoUI网格。到目前为止,我已经设法从远程数据源获取网格读取数据并正确地将分页/过滤信息发送到MVC控制器操作

这样工作正常,但我根本看不到网格的分页控件。

我已经尝试将pageable: true添加到网格的设置中,虽然这确实显示了寻呼机控件,但它没有显示任何页面/总数并抛出JS 对象不支持此当我尝试使用next / prev页面按钮更改页面时,属性或方法。它正在寻找的方法是'切片' - 我将看看非缩小的剑道src,但与此同时我想我会发布在这里

动作如下:

public ActionResult _Index(int? pageSize, int? skip, string filter = "")
{
    // Code that gets the data
    var data = ... (some Linq->Entities queries)
    var total = ... (total count of all the entities)

    return Json(new { total, data });
}

我正确地返回了总数,我检查了JSON并且它符合我的预期(以及网格应该期待的内容)

网格设置如下:

$(document).ready(function () {
    var grid = $("#itemList").kendoGrid({
        toolbar: kendo.template($("#template").html()),
        columns: ["Manufacturer", "Model", "Price", "Tags"],
        dataSource: {
            transport: {
                read: {
                    url: "catalogadmin/_index",
                    dataType: "json",
                    type: "POST",
                    data: {
                        filter: ""
                    }
                },
            },
            schema: {
                data: "data", // records are returned in the "data" field of the response
                total: "total" // total number of records is in the "total" field of the response
            },
            pageSize: 2,
            serverPaging: true
        },
        pageable: true
});

我将pageSize设置为2以测试分页(因为我在数据库中只有4个项目)

JSON是:

{"total":4,"data":[{"Id":6,"Manufacturer":"hello","Model":";lmqw;lemwqe","Price":4.00,"ShortDescription":"world","Tags":[],"Used":false}]}

我认为这不是问题 - 看起来你需要设置pageable: true才能让分页正常工作 - 但我认为分页甚至不适用于客户端数据,我只是要去现在检查

编辑:我已经检查过,客户端分页也不起作用。在尝试翻页时,我得到了“无法获取未定义或空引用的属性”。寻呼机看起来像服务器端页面,没有数据,没有页码,没有总计。

我认为剑道的注册权并不是很好 - 我有最新的版本(现在只下载)但没有雪茄......

1 个答案:

答案 0 :(得分:1)

排序 - 不知道为什么但是当我使用Teleriks转换为Kendo UI项目安装KendoUI时,它同时注册了kendo.all.min.js文件以及mvc / dataviz文件。

我删除了额外的脚本引用,现在一切正常!