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