Asp.net mvc 在CellEdit JqGrid上检索网格Id
我试图根据这个文档进行单元格编辑 我有两个问题:Asp.net mvc 在CellEdit JqGrid上检索网格Id,asp.net-mvc,jqgrid,Asp.net Mvc,Jqgrid,我试图根据这个文档进行单元格编辑 我有两个问题: 如何将我的行的索引发布到服务器: 我得到的信息如下: a) 单元格的值 b) 罗维德 问题是rowId帮不了我。我需要显示的信息的实际Id,以便使用该Id进行服务器更新 colNames:['Id','Codigo','Nombre'] colModel:[ {name:'Id',index:'Id',width:50,align:'left',hidden:true} {名称:'Codigo',索引:'Codigo',宽度:55,对齐:'le
c) 我正在从事MVC2ASP.net的工作,主要是在线编辑或表单编辑,而不是单元格编辑。我建议您切换到两种现代表单编辑中的一种,或者
getInd(rowid,false)
方法返回id=rowid指定的网格表中行的索引{“Detail”:“error text”}
(来自WFC服务的错误),则可以定义jqGrid的loadError参数,如下所示:
loadError:function(xhr,st,err){alert(errorTextFormat(xhr));}var errorTextFormat = function (data) {
var str = data.responseText.substr(0, 10);
if (str === '{"Detail":') {
var errorDetail = jQuery.parseJSON(data.responseText);
var s = "Error: '";
s += data.statusText;
s += "'. Details: ";
s += errorDetail.Detail;
return s;
} else {
var res = "Status: '";
res += data.statusText;
res += "'. Error code: ";
res += data.status;
return res;
}
};
您可以使用相同的函数来解码行编辑错误(至少是内联编辑或表单编辑)。ASP.NET MVC主要以HTML格式返回消息,因此错误解码函数应该是另一个函数。我不像大多数人那样使用单元格编辑,因此在单元格编辑中的错误消息的情况下或自定义时,我无法帮助您。Q1:
您可以在colModel中使用Key:true、editable:true
{ key:true, name: 'Id', index: 'Id', width: 50, align: 'left', editable: true, hidden:true}
Then in add/edit method ( add beforeShowForm method in add/edit method), you have to explicitly hide this field the field of id inside of beforeShowForm method
$('#tr_Id').hide();
i.e
beforeShowForm: function (e) {
$('#tr_Id').hide();
}
问题2:
我希望这对你有用。您仍然需要任何帮助,请在下面评论谢谢Oleg,我将尝试内联编辑。我对单元格编辑很好奇,因为我只需要编辑那个单元格。但我的问题没有得到回答。如何将“Id”发送到服务器?刚刚发现,您曾问过我一次。也许你的问题现在已经解决了。可能您现在发现,修改后将发送的数据(例如列“Nombre”)看起来像
Nombre=NewData&id=2&oper=edit
,因此您请求的列的标识问题不存在。您同时拥有rowId和列名(与“column'Id'”相同)。
add 'afterSubmit' method in add/edit/delete method , i'm using Web api Server ,
i.e
afterSubmit: function (response) {
if (response.statusText == 'Created') {
// alert("Create Successfully")
ShowMessage("Add Successfully", 'Success');
//reload the grid
$(this).jqGrid("setGridParam", { datatype: 'json' });
return [true];
}
else {
ShowMessage("Operation Failed", 'Error');
return [false];
}
},