我创建了一个默认的 MVC 3 项目并为我的模型创建了默认的编辑页面。如果我不碰它,一切正常。
现在我想删除编辑页面上的一个编辑字段(因为我不希望主键可编辑)。所以我只是将 EditFor 更改为 DisplayFor。一切都正确播种,但如果我想保存,我会收到以下错误:
用户代码未处理 DbUpdateConcurrencyException
存储更新、插入或删除语句影响了意外数量的行 (0)。自加载实体后,实体可能已被修改或删除。刷新 ObjectStateManager 条目。
在我可以看到的编辑操作中,我的模型类不再获得主键(它是 0),因此更新不起作用。
// POST: /Weiterleitung/Edit/5
[HttpPost]
public ActionResult Edit(Rufnummern_Weiterleitungen rufnummern_weiterleitungen)
{
if (ModelState.IsValid)
{
db.Entry(rufnummern_weiterleitungen).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(rufnummern_weiterleitungen);
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
如何在不将模型的每个字段都显示为编辑字段的情况下避免此错误?