为什么在jqGrid中保存行总是在Controller中调用1个函数测试? 我使用jqgrid 4.6.0
在Controller中我创建一个像这样的视图方法
public class TesMasterDataController : Controller
{
public ActionResult test()
{
// debug here
return View();
}
}
为JQgrid的任何数据视图创建任何网格加载。
在onCellSelect上打开任何行进行编辑:
onCellSelect: function (rowid) {
$("#" + gridId).jqGrid("editRow", rowid, false, "clientArray");
setTimeout(jQuery("#" + gridId).saveRow(rowid, {
successfunc: function () {
return true;
}
}, "clientArray"), 300);
}
调试控制器测试方法你可以看到,函数saveRow总是调用它,虽然我已经设置了url null?
答案 0 :(得分:1)
onCellSelect
回调的代码因为很多事情而非常奇怪,但是你错误使用saveRow
时的主要问题。目前您以下列形式使用它
.saveRow(rowid, {
successfunc: function () {
return true;
}
}, "clientArray");
方法saveRow
可以使用以下形式之一:
.saveRow(rowid, {
url: "clientArray",
successfunc: function () {
return true;
}
});
或
.saveRow(rowid,
function () {
return true;
},
"clientArray");
此外,建议不要使用复古版本4.6.0,这已经超过3.5岁。 jqGrid有两个主要的分支:"free jqGrid",我开发了它,可以在jqGrid 4.6等相同的许可下免费使用,而商业"Guriddo jqGrid JS"则可以开发Tony Tomov。我建议您从产品中选择一个并将jqGrid 4.6更新为相应产品的最新版本。当前版本的免费jqGrid是4.15.2。您可以直接从CDN加载它(请参阅the wiki article)。要测试它,您只需更改代码的3行:从中加载jqGrid css / js文件的URL。免费的jqGrid与jqGrid 4.6兼容,但它支持许多新功能。您可以先查看here。