Как я могу поставить свои поля рядом друг с другом? - PullRequest
0 голосов
/ 02 февраля 2012

хотел бы поместить fieldSets рядом с моей страницей «Редактировать», потому что у меня так много полей на странице.Так как я не мог найти легкое исправление, я решил поместить поля в таблицу.Это работало нормально, за исключением того, что когда я нажимал на кнопку «Сохранить», я получал эту ошибку:

«Оператор Store update, insert или delete затронул неожиданное количество строк (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 голосов
/ 04 февраля 2012

Наиболее вероятная причина того, что вы получаете эту ошибку, состоит в том, что, поскольку у вас нет поля для идентификатора вашей модели в форме, после нажатия кнопки СОХРАНИТЬ объект, который вы редактируете, имеет свойство идентификатора в нуль .

Чтобы решить эту проблему, используйте скрытое поле, содержащее идентификатор модели, чтобы после того, как форма опубликовала свои поля, она стала отображаться в объекте модели вашего контроллера.

Эта проблема не имеет ничего общего с позицией или расположением ваших полей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...