Kendo Grid Serverside分页,参数映射值不正确

时间:2015-08-17 22:32:06

标签: kendo-ui kendo-grid asp.net-web-api

我试图使用来自Kendo的Dynamic Linq Helper库。网格上的参数映射函数没有正确的参数发送到控制器。

parameterMap选项有: {"取":10,"跳过":0,"页面":1," pageSize的" 10}

但根据示例,它应该具有take,skip,sort,filter,这不在parameterMap函数中或传递给服务器。

我跟随这里的例子

http://www.telerik.com/blogs/kendo-ui-open-sources-dynamic-linq-helpers

另外看了其他例子,我的网格设置与其他网格相同。

唯一的区别是,这是一个Web API单页面应用程序,而不是MVC。但是,这不应该对Grid类传递给它的parameterMap函数产生影响。

这里发生了什么?

$("#grid").kendoGrid({

dataSource: {
   transport: {
                read: {
                    url: "http://localhost/biahost/query/projectStatuses",
                    dataType: "application/json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8"
                    //data:{}
                },
                parameterMap: function (options) {
                    debugger;
                     //options only contain    {"take":10,"skip":0,"page":1,"pageSize":10}
                    return kendo.stringify(options);
                }
            },
            schema: {
                data: "Data",
                total: "Total",
                model: {
                    fields: {
                        NAME: { type: "string" },
                        CODE: { type: "string" },
                        STATUS: { type: "string" },
                        COMMENTS: { type: "string" },
                        INSERTS: { type: "string" },
                        UPDATES: { type: "string" },
                        TOTAL_UPDATES: { type: "string" },
                        LAST_ACTION_DATE: { type: "string" }

                        //UnitId: { type: "string" },
                        //UnitName: { type: "string" }
                    }
                }
            },
            pageSize: 10,
            serverPaging: true,
            serverFiltering: true,
            serverSorting: true
        },
        filterable: true,
        sortable: true,
        pageable: true,
        columns: projectStatusColumns
    });


var projectStatusColumns = [
           {
               field: 'NAME',
               label: 'Res name',
               hidden: true,
           },
           {
               field: 'CODE',
               label: 'Code'
           },
           {
               field: 'STATUS',
               label: 'Status'
           },
           {
               field: 'COMMENTS',
               label: 'Comments'
           }
           ,
           {
               field: 'INSERTS',
               label: 'Inserts'
           }
           ,
           {
               field: 'UPDATES',
               label: 'Updates'
           }
           ,
           {
               field: 'TOTAL_UPDATES',
               label: 'Total Updates'
           }
           ,
           {
               field: 'LAST_ACTION_DATE',
               label: 'Last Action Date'
           }
        ];

1 个答案:

答案 0 :(得分:0)

有同样的问题,所以我查了一下,我在这里。你只需要返回"选项"其中包含参数map,如果你将其字符串化,它将成为一个无法在url中定义的json对象。 希望我不会太晚!