あまりにも多くの試行の後、私はあきらめて助けを求めます.Webで見つけたコードを使用して、クライアントで編集を実行し、生の編集をasp.netサーバーに送信します。しかし、サーバーで呼び出しを取得したり、グリッドから配列を取得したりできないようです (ただし、デバッガーを使用すると Json の値が表示されます)。だから私は2つの質問を得ました。1.「GridUpdateData」にブレークポイントを配置しましたが、クライアントで例外が発生せず、サーバーに到達しませんでした。GridUpdateData 呼び出しがサーバーに到達しないのはなぜですか? どうすればこれを修正できますか? 2. サーバーで読み取る必要がある変数は何ですか? / どのように送信されますか?
ありがとう、ジョン。
クライアントコード:
$(document).ready(function () {
var updateDialog = {
url: "Default.aspx/GridUpdateData",
closeAfterEdit: true,
afterclickPgButtons: function (whichbutton, formid, rowid) {
$("#x2").select();
}
, modal: true
, onclickSubmit: function (params)
{
var ajaxData = {};
var gridId = $("#gridId");
var selectedRow = gridId.getGridParam("selrow");
rowData = gridId.getRowData(selectedRow);
ajaxData = { x2: x2 };
return ajaxData;
}
, width: "400"
};
$.jgrid.nav.addtext = "Add";
$.jgrid.nav.edittext = "Edit";
$.jgrid.nav.deltext = "Delete";
$.jgrid.edit.addCaption = "Add Contact";
$.jgrid.edit.editCaption = "Edit Contact";
$.jgrid.del.caption = "Delete Contact";
$.jgrid.del.msg = "Delete selected Contact?";
$("#gridId").jqGrid({
datatype: 'json',
mtype: 'POST',
colNames: ['x1', 'x2', 'x3'],
colModel: [
{ name: 'x1', index: 'x1', width: 40, editRow: true, sorttype: "string", align: 'left', editable: true, editrules: { required: true } },
{ name: 'x2', index: 'x2', width: 300, editRow: true, sorttype: "string", align: 'left', editable: true, edittype: 'text', editrules: { required: true } },
{ name: 'x3', index: 'x3', width: 200, editRow: true, sorttype: "string", align: 'left', editable: true, edittype: 'text', editrules: { required: true } }
],
pager: $('#gridPager'),
sortname: 'x2',
sortorder: "desc",
altRows: true,
viewrecords: true,
imgpath: '/Content/Themes/Redmond/Images',
caption: 'Equipment List',
autowidth: true,
ondblClickRow: function (rowid, iRow, iCol, e) {
$("#gridId").editGridRow(rowid, prmGridDialog);
}
}).navGrid('#gridPager',
{
edit: true, add: true, del: true, search: false, refresh: false
},
updateDialog,
updateDialog,
updateDialog
);
$("#gridId").jqGrid('clearGridData');
});
(グリッド フィールドを X1-x3 に変更しました。) サーバー コード:
public static void GridUpdateData() {
}