我MVC2应用程序是给了我今天悲痛......我想编辑的数据库记录,使用下面的控制器代码:MVC2抛出的UpdateModel()InvalidOperationException异常,试图更新id字段
[AcceptVerbs(HttpVerbs.Post), Authorize(Roles = "Admin")]
public virtual ActionResult Edit(int id, FormCollection formValues)
{
var masterDataProxy = MasterDataChannelFactory.OpenChannel();
var tester = masterDataProxy.GetTester(id);
masterDataProxy.CloseChannel();
if (null == tester)
{
return View(Views.NotFound);
}
try
{
UpdateModel(tester);
var adminProxy = AdminChannelFactory.OpenChannel();
adminProxy.AddUpdateTester(tester);
adminProxy.CloseChannel();
return RedirectToAction(Actions.Index());
}
catch (Exception ex)
{
ModelState.AddModelError("Tester", ex.Message);
return View(tester);
}
}
我“M获得高层次的异常‘类型的模型‘Model.Entity’无法更新’,当我深入到ModelState中我看到试图更新Id字段时,它的失败 - “设置id属性仅在实体反序列化期间支持.NET 3.5+“。
的问题是,我怎么能告诉的UpdateModel()不更新Id字段?我不希望它更新该字段!
任何想法? 戴夫
谢谢!那正是我想要的... – DaveN59 2011-05-06 20:10:30