jqGrid在用自带的del,add,edit时,C#后台怎么获得数据

1.用jqGrid自带的del时,它发送的Ajax里面的id是什么意思呢?确认删除后,该记录在页面暂时是被删除了,表格的序号也会重新排,所以这个id是未被删除前的序号id吗?

2.为了实现真正的删除,需要在C#后台中获取表格中为primaryKey的数据,这里怎么通过Ajax传送过去呢?编辑也是一样,我怎么在后台获取修改后的数据呢?
图片描述

阅读 5.1k
1 个回答
                   $("#Grid").navGrid("#Page",
                 { edit: true, add: true, del: true, search: true, refresh: true,searchtext:"查找",addtext:"添加",edittext:"编辑",deltext:"删除",refreshtext:"刷新"},
                 {
                     //edit   zoneCode不可编辑
                     height: 400,
                     width: 500,
                     top: 50,
                     left: 200,
                     dataheight: 280,

                     closeOnEscape: true,
                     reloadAfterSubmit: true,
                     drag: true,
                     afterSubmit: function (response, postdata) {
                         if (response.responseText == '') {
                             $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');  //编辑重新加载数据
                             return [true, '']
                         } else {
                             $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
                             return [false, response.responseText]
                         }

                     },
                     editData: {          //编辑后向后台传送的主键数据
                         zoneCode: function () {
                             var sel_id = $("#Grid").jqGrid('getGridParam', 'selrow');  //获取选中行
                             var value = $("#Grid").jqGrid('getCell', sel_id, 'zoneCode'); //获取选中行的数据得到主键_id
                             console.log(value);
                             return value;
                         }
                     }
                 },
                 //add  zoneCode可编辑
                 {
                     closeAfterAdd: true,
                     beforeInitData: function (formid) {   //设置主键在添加时可编辑
                         $(this).jqGrid('setColProp', 'zoneCode', { editable: true });
                     },
                     afterShowForm: function (formid) {
                         $(this).jqGrid('setColProp', 'zoneCode', { editable: false });
                     },
                     afterSubmit: function (response, postdata) {
                         if (response.responseText == '') {
                             $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid'); 
                             return [true, '']
                         } else {
                             $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
                             return [false, response.responseText]
                         }
                     }
                 },
                 //delete
                 {
                     closeAfterDelete: true,
                     reloadAfterSubmit: true,
                     closeOnEscape: true,
                     drag: true,
                     afterSubmit: function (response, postdata) {
                         if (response.responseText == '') {
                             $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
                             return [true, '']
                         } else {
                             $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
                             return [false, response.responseText]
                         }
                     },
                     delData: {
                         zoneCode: function () {
                             var sel_id = $("#Grid").jqGrid('getGridParam', 'selrow');  //获取选中行
                             var value = $("#Grid").jqGrid('getCell', sel_id, 'zoneCode'); //获取选中行的数据得到主键_id
                            // console.log(value);
                             return value;
                         }
                     }
                 },
                 //search
                 {
                     closeAfterDelete: true
                 }
                 );


               });
//前台用editData,delData
//后台用context.Request.Params即可获取想要传递的数据
string sFullParams = context.Request.Params.ToString();
string sUrlPara = sFullParams.Substring(0, sFullParams.IndexOf("&ALL_HTTP="));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进