如何传递其他参数进行分页

时间:2013-01-02 15:09:29

标签: c# asp.net-mvc-3 extjs parameters paging

我知道分页需要传递给控制器​​的启动和限制参数......但是我还使用了需要传递的更多参数......这是'STATE'和'ID'...我试过baseParams ,params ......什么都行不通......这是我的商店

this.myStore = Ext.create('Ext.data.Store', {
        scope: this,
        storeId: 'myStore',
        fields: [
            { name: 'State', type: 'string' },
            { name: 'ID', type: 'string' }
        ],
        proxy: {
            type: 'ajax',
            scope: this,
            extraParams: { State: '', ID: '', start: 1, limit: 200 },
            url: 'myControl/getRecords',
            reader: {
                type: 'json',
                totalProperty: 'count',
                root: 'data'
            }
        },
        autoLoad: true
    });

我知道我不必使用start和limit作为参数,但是将它们取出也无济于事。

这是我的c#方法

public string getRecords(string State, string ID, int start, int limit)

2 个答案:

答案 0 :(得分:2)

你试过这个吗?

this.myStore = Ext.create('Ext.data.Store', {
    scope: this,
    storeId: 'myStore',
    fields: [
        { name: 'State', type: 'string' },
        { name: 'ID', type: 'string' }
    ],
    proxy: {
        type: 'ajax',
        scope: this,
        extraParams: { State: '', ID: '' },
        url: 'myControl/getRecords',
        reader: {
            type: 'json',
            totalProperty: 'count',
            root: 'data'
        }
    },
    autoLoad: true
});

原因是分页栏进行分页,因此您不需要自己设置分页。你这样做的方式将覆盖商店提供的分页参数(分页栏)

请注意,您可以通过调用

覆盖您的extraParam值
myStore.getProxy().setExtraParam('State', 'AnyValue');

答案 1 :(得分:0)

开始是默认的开始页面,限制是每页的行数

 this.myStore = Ext.create('Ext.data.Store', {
        scope: this,
        storeId: 'myStore',
        fields: [
            { name: 'State', type: 'string' },
            { name: 'ID', type: 'string' }
        ],
        proxy: {
            type: 'ajax',
            scope: this,
            extraParams: { State: '', ID: '' },
            url: 'myControl/getRecords',
            reader: {
                type: 'json',
                totalProperty: 'count',
                root: 'data,

                start:0,    
                limit: 25
            }
        },
        autoLoad: true
    });