我正在使用 Telerik 网格控件来操作 MVC3 下的表数据。
表中的键是字符串类型的字段。
相关查看代码:
.DataBinding(dataBinding =>
{
dataBinding.Ajax()
.Select("MyTableSelectAjaxEditing", "Maintenance")
.Insert("MyTableInsertAjaxEditing", "Maintenance")
.Update("MyTableSaveAjaxEditing", "Maintenance")
.Delete("MyTableDeleteAjaxEditing", "Maintenance");
})
我的更新方法映射到这个函数:
[AcceptVerbs(HttpVerbs.Post)]
[GridAction]
public ActionResult MyTableSaveAjaxEditing(String id)
{
MyTable myTable = db.MyTable.Find(id);
if (myTable != null)
{
if (TryUpdateModel(myTable))
{
db.SaveChanges();
}
}
return View(new GridModel(db.MyTable));
}
当我更新不是关键的字段时,一切都很好。当键被更新时(从网格),id 参数返回 NEW 值,所以方法开头的 Find 函数找不到相关记录,更新不会发生!
任何帮助将不胜感激。
谢谢你。