jqgrid adicionar linha e enviar dados para webservice para inserir

Eu tenho sido capaz de puxar dados do meu database usando jQuery / Ajax de um webservice para o jqgrid. Agora gostaria de enviar dados adicionados / editados de volta ao serviço da web. Eu vi alguns exemplos usando PHP e o comando editurl:. Isso funcionará para os serviços da web também (como eu tirei os dados originalmente)?

Eu olhei os exemplos várias vezes. Eu até encontrei outra pergunta que é semelhante ao que estou perguntando, no entanto, não consigo encontrar nenhum exemplo real de como fazer o que preciso. Existe algum?

:ATUALIZADA:

jQuery(document).ready(function () { jQuery("#list").jqGrid({ datatype: processrequest, mtype: 'POST', jsonReader: { root: "ListExercise", //arry containing actual data page: "Page", //current page total: "Total", //total pages for the query records: "Records", //total number of records repeatitems: false, id: "ID" //index of the column with the PK in it }, colNames: ['Id', 'Exercise'], colModel: [ { name: 'exercise_id', index: 'exercise_id',editable:false }, { name: 'exercise_value', index: 'exercise_value',editable:true } ], caption: 'MyFitnessApplication', pager: '#pager', rowNum: 10, rowList: [10, 20, 30], sortorder: "desc", viewrecords: true, height: '250px', loadonce: true, editurl: "../webService/exercise_ws.asmx/insertRecord" }).navGrid('#pager', { edit: true, add: true, del: false }); }); 

Como você pode ver, adicionei a tag editurl. Isso parece chamar meu webservice. Agora estou perdendo como passar os parâmetros reais para o serviço da web. Eu estou sentindo falta de algo, e ajuda é apreciada!

Primeiro de tudo, você pode alterar algumas opções padrão usadas para adicionar / editar:

 jQuery.extend(jQuery.jgrid.edit, { ajaxEditOptions: { contentType: "application/json" }, recreateForm: true, serializeEditData: function (postData) { if (postData.exercise_value === undefined) { postData.exercise_value = null; } return JSON.stringify(postData); } }); 

(onde JSON.stringify é as funções definidas em http://www.json.org/js.html ). Em seguida, os dados, que serão enviados para o servidor, serão codificados em JSON. Quase as mesmas configurações podem ser usadas para a exclusão

 jQuery.extend(jQuery.jgrid.del, { ajaxDelOptions: { contentType: "application/json" }, serializeDelData: function (postData) { if (postData.exercise_value === undefined) { postData.exercise_value = null; } return JSON.stringify(postData); } }); 

Agora você pode definir insertRecord como seguindo

 [WebMethod, ScriptMethod(ResponseFormat = ResponseFormat.Json)] public int ModifyData (string exercise_value, string oper, string id) { if (String.Compare (id, "_empty", StringComparison.Ordinal) == 0 || String.Compare (oper, "add", StringComparison.Ordinal) == 0) { // TODO: add new item with the exercise_value and return new id // as the method result } else if (String.Compare (oper, "edit", StringComparison.Ordinal) == 0) { // TODO: modify the data identified by the id } else if (String.Compare (oper, "del", StringComparison.Ordinal) == 0) { // TODO: delete the data identified by the id } } 

Você não escreveu qual tipo tem exercise_id : integer ou string. Se você usar ids de string, o código acima deve ser alterado um pouco.