我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