jqGrid가 내 컨트롤러에 postdata를 보내지 않습니다. 나는 stackoverflow에 제공된 모든 솔루션을 시도, 분명히 내가 어딘가에 오류가있어. 컨트롤러 측면에서jqGrid postdata가 null 값 (mvc3 asp/net)을 보냅니다.
function refreshGrid() { alert('CompanyNamePart=' + $("#CompanyNamePart").val()); // to check if this is correct value $("#list").trigger('reloadGrid'); return false; } $(function() { var grid = jQuery("#list").jqGrid({ datatype: 'json', caption: 'Transaction Log', postdata: { CompanyNamePart: function() { return $("#CompanyNamePart").val(); }, UsernamePart: function() { return $("#UsernamePart").val(); }, }, url: '@Url.Action("GetTransactionLogData")', mtype: 'GET', colNames: ['Ref.', 'TradeDate', 'Status'], colModel: [ { name: 'Reference', index: 'Reference', width: '60' }, { name: 'TradeDate', index: 'TradeDate', width: '70' }, { name: 'Status', index: 'Status', width: '80' } ], pager: $('#pager'), rowNum: 10, height: '100%' }); });
나는 간단한 코드가 있습니다 :
[HttpGet] public ActionResult GetTransactionLogData(string sidx, string sord, int page, int rows, string CompanyNamePart, string UsernamePart) { return Json(null); }
및 디버깅 모드에서
가 나는 버튼을 클릭하여 refreshGrid()를 호출 할 때 나는 하나의 경고가 나에게 확인받을를 그래서 여기에 코드입니다 그것은 올바르게 textfield의 값을 읽은 다음 그리드를 새로 고칩니다. 컨트롤러 호출을 수신하지만 CompanyNamePart 및 UsernamePart 변수의 값은 모두 채워졌지만 null입니다.function getCompanyNamePartVal() { return $("#CompanyNamePart").val(); } function getUsernamePartVal() { return $("#UsernamePart").val(); } ... in jqgrid definition postdata: { CompanyNamePart: getCompanyNamePartVal(), UsernamePart: getUsernamePartVal(), },
을하지만 성공 :
은 내가 먼저 내가 필요한 값을 반환 그리드의 POSTDATA 섹션에 넣어 기능을 만들어 다른 접근 방식을 POSTDATA 섹션에 대한 또 다른 해결책을 시도했다.내가 방화범을 선택하면, 내가있는 jqGrid가 POSTDATA 값을 송출하지 않게 볼 수 있습니다 :
Get Parameters caught by Firebug _ 1340696638960 _search false nd 1340696638955 page 1 rows 10 sidx sord asc
내가 잘못하고있는 중이 야 무엇을?
대단히 감사합니다. 당신은 생명의 은인입니다! :) –