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