How to pass additional postdata into an add record function - JQGrid - MVC . NET
我正在MVC项目上使用JQGrid插件。我试图避免使用"会话"。使用JQGrid的serializedata方法,我已经能够将额外的postdata传递到我的编辑和删除函数中。
E.G.
1 2 3 4 5 | serializeEditData: function (postdata) { var rowdata = jQuery('#gridId').getRowData(postdata.id); return {id: postdata.id, oper: postdata.oper, SomeExtraData: $('#extradata').val()}; } |
但是,似乎没有serializeAddData函数。在发送之前,还有另一种方法可以更改add方法的发布数据吗?
有一种方法editGridRow可以为" Edit "和" Add "对话框实现表单编辑。因此,在两种情况下都可以使用相同的事件处理程序serializeEditData。例如,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $("#list").jqGrid('navGrid','#pager', {/*navGrid options*/}, {/*edit options*/ serializeEditData: function (postdata) { // your implementation of serializeEditData for edit } }, {/*add options*/ serializeEditData: function (postdata) { // your implementation of serializeEditData for add } }, {/*del options*/}, {/*search options*/} |
/);
如果需要将所有发布的数据转换为另一种格式(例如进行JSON序列化),通常
1 2 3 4 5 6 7 8 9 10 11 | $("#list").jqGrid('navGrid','#pager', {/*navGrid options*/}, {/*edit options*/ editData: {SomeExtraData: $('#extradata').val()} }, {/*add options*/ editData: {SomeExtraData: $('#extradata').val()} }, {/*del options*/}, {/*search options*/} ); |
或以这种方式更好(请参见以下有关将函数用作
1 2 3 4 5 6 7 8 9 10 11 | $("#list").jqGrid('navGrid','#pager', {/*navGrid options*/}, {/*edit options*/ editData: {SomeExtraData: function() {return $('#extradata').val();}} }, {/*add options*/ editData: {SomeExtraData: function() {return $('#extradata').val();}} }, {/*del options*/}, {/*search options*/} ); |