0

我在 URI(WCF 服务)中放置网格的分页参数时遇到问题。

这是我的网格的“商店”代码:

Ext.define('KP.store.Listls', {

    extend: 'Ext.data.Store',
    model: 'KP.model.Listls',

    autoLoad: true,

    pageSize: 50,
    autoLoad: { start: 0, limit: 50 },


    autoSync: true,
    proxy: {
        type: 'ajax',           
        startParam: undefined,
        api: {

        read: '/adres/listls?page=' + 1  + '&size=' + 20            
        },
        reader: {
            type: 'json',
            root: 'data',           
            totalProperty: 'total'
        }     
    }

});

这里是我的接口服务代码:

 [WebInvoke(
        Method = "GET",
        //UriTemplate = "/list",
        UriTemplate = "listls?page={page}&size={size}",                
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Bare
    )]
    List<Person> GetLs(string page, string size);

问题出在此代码字符串中:

read: '/adres/listls?page=' + ???  + '&size=' + 20

我将使用什么参数来理解页码?非常感谢!

4

1 回答 1

1

这并不容易,但它是可行的。您需要实现两件事:

  1. 将您的 ExtJs 阅读器$skip用作您的startParam$take您的limitParam. 而且您不需要实现任何特殊逻辑来在 WCF 端解析它。它已经理解$skip$take

  2. 更改 WCF 端以某种方式发送记录总数。因为默认情况下,当使用分页时,在 JSON 对象中发送的记录总数将为 -1。

于 2012-08-24T14:56:55.383 回答