我有以下示例:
var url = '@Url.Action("GetProgData", "Prog")' + '?lbId=' + labId;
$("#loginList").jqGrid({
url: url,
datatype: "json",
colNames: ['PNum', 'Client', 'Salesperson', 'Email'],
colModel: [ ...
......
该方法在c#MVC中如下所示:
public JsonResult GetLoginData(int rows, int page, string sidx, string sord, string searchField, string searchString, string searchOper, int? labId)
我喜欢做的是有条件地传递labId的值,所以我有以下但是似乎没有传递labId,因为它返回null:
$("#LabId").change(function () {
labId = $("#LabId").val();
setupGrid(labId);
$("#loginList").trigger("reloadGrid", [{ page: 1}]);
});
不确定当我在下拉列表中执行此操作时,labID的值不会很好
答案 0 :(得分:2)
我认为您可以发送null
作为labId
的值{/ p>
$("#loginList").jqGrid({
url: '@Url.Action("GetProgData", "Prog")',
postData: {
lId: function () {
var labId = $("#LabId").val();
return labId === "" ? null : labId;
}
},
datatype: "json",
colNames: ['PNum', 'Client', 'Salesperson', 'Email',
...
});
如果上述解决方案不起作用,则可以执行以下操作
$("#loginList").jqGrid({
url: '@Url.Action("GetProgData", "Prog")',
serializeGridData: function (data) {
var labId = $("#LabId").val();
return labId === "" ? data : $.extend(true, {}, data, {lId: labId});
},
datatype: "json",
colNames: ['PNum', 'Client', 'Salesperson', 'Email',
...
});