希望将fieldSets并排放在我的“编辑”页面上,因为页面上有很多字段。由于我找不到简单的解决办法,我决定把这些字段放在一张桌子里。这工作正常,除了当我点击“保存”按钮时我收到此错误:
“存储更新,插入或删除语句影响了意外的行数(0)。自实体加载后,实体可能已被修改或删除。刷新ObjectStateManager条目。“
问题:如何将我的字段集并排放置或使我的表格与保存按钮一起使用?
感谢您的帮助。
这是我的控制器的编辑方法:
public ActionResult Edit(int id)
{
CourseProgress courseprogress = db.CourseProgresses.Find(id);
ViewBag.CourseId = new SelectList(db.Courses, "CourseId", "Name", courseprogress.CourseId);
ViewBag.TeacherId = new SelectList(db.Teachers, "TeacherId", "Name", courseprogress.TeacherId);
var PdfReportProperties = new PdfReport();
return View(courseprogress);
}
//
// POST: /ProgressManager/Edit/5
[HttpPost]
public ActionResult Edit(CourseProgress courseprogress)
{
if (ModelState.IsValid)
{
db.Entry(courseprogress).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("ProgressRecord");
}
ViewBag.CourseId = new SelectList(db.Courses, "CourseId", "Name", courseprogress.CourseId);
ViewBag.TeacherId = new SelectList(db.Teachers, "TeacherId", "Name", courseprogress.TeacherId);
return View(courseprogress);
}
答案 0 :(得分:0)
您获得该错误的最可能原因是,由于您在表单中没有模型ID的字段,因此一旦您点击SAVE按钮,您编辑的对象的ID属性为null
要解决此问题,请使用包含模型ID的隐藏字段,这样一旦表单发布其字段,它就会映射到控制器模型对象中。
此问题与字段的位置或布局无关。