asp.net-mvc-4 - aftersavefunc JQGrid 在调用后端之前调用
问题描述
我有一个带有自定义按钮的内联编辑的 jqgrid,如果保存不成功,我正在尝试显示自定义消息或弹出窗口:
editurl: '@Url.Action("UpdateMatrixData")',
datatype: "json",
postData: {
sp: function () { return getFilter(); }
},
postData: {
StartDate: function () { return $("#StartDate").val(); },
EndDate: function () { return $('#EndDate').val(); },
},
gridComplete: function ()
{
var ids = jQuery("#evGrid").jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++)
{
var cl = ids[i];
be = "<input style='height:15px;width:15px;' title='Edit selected row' type='button' class='EditGridButton' onclick=\"jQuery('#evGrid').editRow('" + cl + "');\" />"
se = "<input style='height:15px;width:15px;' title='Save row' type='button' class='SaveButton' onclick=\"jQuery('#evGrid').saveRow('" + cl + "', '', '', '', reload());\" />" // dont Need to refesh grid after saving row - call reload function
ce = "<input style='height:15px;width:15px;' title='Cancel row editing' type='button' class='CancelButton' onclick=\"jQuery('#evGrid').restoreRow('" + cl + "');\" />";
jQuery("#evGrid").jqGrid('setRowData', ids[i], { act: be + se + ce });
}
},
function reload(rowid, response) {
alert(response)
$(this).jqGrid('setGridParam', { datatype: 'json' });
$(this).trigger('reloadGrid', [{ page: 1 }]);
}
但是响应为空?并在调用 updateMatrixData 方法之前调用它?
updateMatrixData 返回 Json(true) 或 Json(false)
return Json(isSucess);
解决方案
您在使用中的主要错误
onclick=\"jQuery('#evGrid').saveRow('" + cl + "', '', '', '', reload());\"
代替
onclick=\"jQuery('#evGrid').saveRow('" + cl + "', '', '', '', reload);\"
reload
是 jqGrid 调用的回调函数。如果您使用reload()
,那么您的代码reload
在 jqGrid 执行此操作之前调用 mit 空参数(jqGrid 根本不获取函数的引用,而是从中undefined
返回reload()
)。
推荐阅读
- powerapps - Power Apps 中的级联下拉列表
- node.js - 如何使用nodejs获取节点docker容器中的主机主目录路径?
- snowflake-cloud-data-platform - 使用 Snowpipe - 加载小文件的最佳做法是什么。例如。每天数千个 4K 文件?
- reactjs - 如何在我的 MainTabHome 上添加标题名称和图标
- sql - 1:1的关系。我应该为单个可选值创建一个新表吗?
- gitlab-ci - GitLab管道卡在回声上
- android - 如何知道某个应用是否在最近的应用列表中?
- python - Python多处理池在读取文件时卡住
- javascript - 如何在 Node.JS 中对对象的数据执行减法?
- vue.js - 有人逐步使用 vue-twemoji-picker 吗?