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

查看:137
本文介绍了jqGrid在用自带的del,add,edit时,C#后台怎么获得数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

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

解决方案

                   $("#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="));

这篇关于jqGrid在用自带的del,add,edit时,C#后台怎么获得数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆