РЕДАКТИРОВАТЬ - Мы используем предварительную версию MVC4 Dev ....
Я создаю страницу редактирования для Класс FishingTrip
. FishingTrip
содержит дочернюю коллекцию простых объектов Crew
(например, FishingTripID, CrewID, CrewPosition).
Я использую Джарретта Мейера подход для добавления, редактирования и удаления из коллекции Crew
.
Я использую ненавязчивую проверку, чтобы указать, что свойства Crew
все Обязательно
.
Моя проблема: когда я логически удаляю элемент из списка (в соответствии с методом Джарретта), я не хочу, чтобы этот элемент проверялся.
Я успешно настроил "removeRow" на стороне клиента, чтобы отключить ненавязчивую проверку для логически удаленного элемента, чтобы форма публиковалась, несмотря на наличие элемента, содержащего пустые поля.
В моем методе контроллера [HttpPost] Edit
, ModelState.IsValid
начинается как false (как и ожидалось - из-за логически удаленного элемента, содержащего пустые поля). Итак, я удалите этот элемент из моей модели просмотра .... но ModelState.IsValid
по-прежнему ложно.
Таким образом, я (думаю, что) хочу изменить свою ViewModel в методе контроллера, чтобы удалить проблемный элемент, затем вызвать своего рода «revalidate», и ModelState.IsValid
отображаться как true .
Есть идеи?