我怎样才能将我的场地组并排放置?

时间:2012-02-02 03:34:24

标签: asp.net-mvc-3

希望将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);
    }

1 个答案:

答案 0 :(得分:0)

您获得该错误的最可能原因是,由于您在表单中没有模型ID的字段,因此一旦您点击SAVE按钮,您编辑的对象的ID属性为null

要解决此问题,请使用包含模型ID的隐藏字段,这样一旦表单发布其字段,它就会映射到控制器模型对象中。

此问题与字段的位置或布局无关。