Asp.net mvc 2 为jqGrid保存postdata的最佳方法是什么?

Asp.net mvc 2 为jqGrid保存postdata的最佳方法是什么?,asp.net-mvc-2,jqgrid,Asp.net Mvc 2,Jqgrid,我在asp.NETMVC2项目中使用了jQGrid来填充用户详细信息。在jQGrid的寻呼机部分,我有一个搜索和刷新按钮。单击搜索按钮,弹出窗口打开,其中包含少量文本框控件。现在,用户在执行搜索操作的文本框中输入数据。搜索完成后,搜索弹出窗口关闭,然后在jQGrid中填充数据 现在,假设基于上述搜索条件,jQGrid中填充了40条记录,每个页面包含10条记录。现在我们总共有4页。现在,当我导航到第二页时,我看到总记录和总页数没有根据搜索条件进行维护。通过分析,我发现postdata在整个搜索操作

我在asp.NETMVC2项目中使用了jQGrid来填充用户详细信息。在jQGrid的寻呼机部分,我有一个搜索和刷新按钮。单击搜索按钮,弹出窗口打开,其中包含少量文本框控件。现在,用户在执行搜索操作的文本框中输入数据。搜索完成后,搜索弹出窗口关闭,然后在jQGrid中填充数据

现在,假设基于上述搜索条件,jQGrid中填充了40条记录,每个页面包含10条记录。现在我们总共有4页。现在,当我导航到第二页时,我看到总记录和总页数没有根据搜索条件进行维护。通过分析,我发现postdata在整个搜索操作中没有得到维护

我正在使用以下代码:

close: function () {
                $('#user-search-dialog-form').each(function () {
                    this.reset();
                });
            },
users.js:

function usersInit(getAllUsers,page,sord,rows) {
    $('#users-list').jqGrid(
        {
            url: getAllUsers + "?random=" + Math.random(),
            datatype: 'json',
            mtype: 'GET',
            postData:
            {
                filters: function () {
                    return $.toJSON([
                                    { Key: "FirstName", Value: $.trim($("[name='txtFirstName']").val()) },
                                    { Key: "LastName", Value: $.trim($("[name='txtLastName']").val()) },
                                    { Key: "Login", Value: $.trim($("[name='txtLogin']").val()) },
                                    { Key: "Organization", Value: $.trim($("[name='txtOrganization']").val()) }
                                    ]);
                }
            },
            colNames: ['UserID', 'Login', 'IsRootUser', 'CreationDate', 'IsActive', 'FirstName', 'LastName', 'Organization', 'UserType', 'EmailAddress'],
            colModel: [
                            { name: 'UserID', index: 'UserID', hidden: true },
                            { name: 'Login', index: 'Login', width: 150 },
                            { name: 'IsRootUser', index: 'IsRootUser', search: false, width: 100, align: 'center' },
                            { name: 'CreationDate', index: 'CreationDate', search: false, width: 100, align: 'left' },
                            { name: 'IsActive', index: 'IsActive', search: false, width: 100, align: 'center' },
                            { name: 'FirstName', index: 'FirstName', search: false, width: 150, align: 'center' },
                            { name: 'LastName', index: 'LastName', search: false, width: 150, align: 'center' },
                            { name: 'Organization', index: 'Organization', search: false, width: 100, align: 'center' },
                            { name: 'UserType', index: 'UserType', search: false, width: 100, align: 'center' },
                            { name: 'EmailAddress', index: 'EmailAddress', search: false, width: 140, align: 'center' }
                      ],
            autowidth: false,
            sortname: 'Login',
            //sortorder: 'asc',
            sortorder: sord,
            rowNum:rows,
            page:page,
            width: "1100",
            height: "auto",
            viewrecords: true,
            pager: '#users-list-pager',
            loadui: 'block',
            loadError: function (xhr, status) {
                location.reload();
            }
        });

    $('#users-list').jqGrid('navGrid', '#users-list-pager', { add: false, del: false, search: false, view: false, edit: false, refresh: false })
    // Search Details 
        .navButtonAdd("#users-list-pager", {
            id: "btn-search-user",
            caption: "Search User",
            buttonicon: "ui-icon-search",
            onClickButton: function () {
                SearchUserDialog()
            .dialog('option', 'title', 'Search User')
            .dialog('open');
            }
        });

    // Refresh Details
    $("#users-list").jqGrid('navButtonAdd', "#users-list-pager", {
        caption: "Refresh", title: "Reload Grid", buttonicon: "ui-icon-refresh",
        onClickButton: function () {
            $('#users-list').jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
        }
    });

    // Search dialog
    var SearchUserDialog = function () {
        return $("#user-search-dialog").dialog({
            resizable: false,
            autoOpen: false,
            modal: true,
            height: 235,
            width: 480,
            buttons: {
                "Cancel": function () {
                    $(this).dialog('close');
                },
                "Search": function () {
                    // Get all the user details
                    var firstName = $.trim($("[name='txtFirstName']").val());
                    var lastName = $.trim($("[name='txtLastName']").val());
                    var loginName = $.trim($("[name='txtLogin']").val());
                    var organization = $.trim($("[name='txtOrganization']").val());

                    if (ValidateUserDetails(firstName, lastName, loginName, organization)) {
                        $("#users-list").trigger("reloadGrid");
                        $(this).dialog('close');
                    }
                }
            },
            close: function () {
                $('#user-search-dialog-form').each(function () {
                    this.reset();
                });
            },
            open: function () {
                $("[name='txtFirstName']").focus();
            }
        });
    }
}
function ValidateUserDetails(firstName, lastName, loginName, organization) {
    var isValidSearch = true;
    var errorMessage = '';

    if ((firstName.length === 0) && (lastName.length === 0) && (loginName.length === 0) && (organization.length === 0)) {
        //$("<div title='Alert'>" + " Please enter value for at least one of the input parameters.\n" + errorMessage + "</div>").dialog();
        alert('Please enter values for at least one of the input parameters :<br/> <ul><li>First Name</li><li>Last Name</li><li>Login</li><li>Organization</li></ul>');
        isValidSearch = false;
    }
    return isValidSearch;
}
function usersInit(getAllUsers,page,sord,rows){
$(“#用户列表”).jqGrid(
{
url:getAllUsers+“?random=“+Math.random(),
数据类型:“json”,
mtype:'获取',
postData:
{
过滤器:函数(){
返回$.toJSON([
{Key:“FirstName”,值:$.trim($(“[name='txtFirstName']”)val()),
{Key:“LastName”,值:$.trim($(“[name='txtLastName']”)val(),
{Key:“Login”,值:$.trim($(“[name='txtLogin']”)val())},
{Key:“组织”,值:$.trim($(“[name='txtOrganization']”)val())}
]);
}
},
colNames:['UserID','Login','IsRootUser','CreationDate','IsActive','FirstName','LastName','Organization','UserType','EmailAddress'],
colModel:[
{name:'UserID',index:'UserID',hidden:true},
{name:'Login',index:'Login',宽度:150},
{name:'IsRootUser',index:'IsRootUser',search:false,width:100,align:'center'},
{name:'CreationDate',index:'CreationDate',search:false,width:100,align:'left'},
{name:'IsActive',index:'IsActive',search:false,width:100,align:'center'},
{name:'FirstName',index:'FirstName',search:false,width:150,align:'center'},
{name:'LastName',index:'LastName',search:false,width:150,align:'center'},
{name:'Organization',index:'Organization',search:false,width:100,align:'center'},
{name:'UserType',index:'UserType',search:false,width:100,align:'center'},
{name:'EmailAddress',index:'EmailAddress',search:false,width:140,align:'center'}
],
自动宽度:false,
sortname:'登录',
//排序器:“asc”,
排序器:排序器,
rowNum:行,
第页:第页,
宽度:“1100”,
高度:“自动”,
viewrecords:是的,
寻呼机:“#用户列表寻呼机”,
loadui:'块',
loadError:函数(xhr,状态){
location.reload();
}
});
$(“#用户列表”).jqGrid('navGrid',“#用户列表寻呼机',{add:false,del:false,search:false,view:false,edit:false,refresh:false})
//搜索详细信息
.navbuttonad(“#用户列表寻呼机”{
id:“btn搜索用户”,
标题:“搜索用户”,
按钮图标:“ui图标搜索”,
onclick按钮:函数(){
SearchUserDialog()
.dialog('选项','标题','搜索用户')
.对话框(“打开”);
}
});
//刷新详细信息
$(“#用户列表”).jqGrid('navbuttonad',“#用户列表寻呼机”{
标题:“刷新”,标题:“重新加载网格”,按钮图标:“ui图标刷新”,
onclick按钮:函数(){
$('#users list').jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
}
});
//搜索对话框
var SearchUserDialog=函数(){
返回$(“#用户搜索对话框”)。对话框({
可调整大小:false,
自动打开:错误,
莫代尔:是的,
身高:235,
宽度:480,
按钮:{
“取消”:函数(){
$(this.dialog('close');
},
“搜索”:函数(){
//获取所有用户详细信息
var firstName=$.trim($(“[name='txtFirstName']”)).val();
var lastName=$.trim($(“[name='txtLastName']”)).val();
var loginName=$.trim($(“[name='txtLogin']”)).val();
var-organization=$.trim($(“[name='txtOrganization']”)).val();
if(ValidateUserDetails(名字、姓氏、登录名、组织)){
$(“#用户列表”).trigger(“重新加载网格”);
$(this.dialog('close');
}
}
},
关闭:函数(){
$(“#用户搜索对话框窗体”)。每个(函数(){
这是reset();
});
},
打开:函数(){
$(“[name='txtFirstName']”)focus();
}
});
}
}
函数ValidateUserDetails(名字、姓氏、登录名、组织){
var isValidSearch=真;
var errorMessage='';
如果((firstName.length==0)&&&(lastName.length==0)&&(loginName.length==0)&&&&(organization.length==0)){
//$(“+”请输入至少一个输入参数的值。\n“+errorMessage+”).dialog();
警惕('