У меня точно такая же проблема, описанная в этом вопросе.Мой взгляд не предоставляет некоторые данные в моем контроллере.поэтому в контроллере перед проверкой ModelState я переназначаю это значение вручную.затем, когда я пытаюсь обновить ModelState, он показывает ошибку 'The model of type /*my model*/ could not be updated.'
Вот контроллер:
public ActionResult CreateEntry(NewEntryViewModel model)
{
model.SexList = new SelectList(_newEntryService.GetSexList(), "Key", "Value");
model.DoctorList = new SelectList(_refDocService.GetDocList(), "Key", "Value");
model.TestList = _testService.GetAllTests();
model.Patient.Serial = _newEntryService.GenerateSerial();
//ModelState["TestList"].Errors.Clear();
//ModelState.Remove("TestList");
UpdateModel(model); //error shows here
var errors = ModelState
.Where(x => x.Value.Errors.Count > 0)
.Select(x => new { x.Key, x.Value.Errors })
.ToArray();
if (!ModelState.IsValid)
{
//do something
return View("NewEntry", model);
}
return RedirectToAction("NewEntry");
}
Я пробовал с этими закомментированными строками, каждая из которых сразу.но ошибка все еще показывает.Вот решение, которое я нашел в вопросе, приведенном сверху.так как мне это решить?Кстати, TestList - это просто IEnumerable класса домена, например public IEnumerable<Admin_Test> TestList { get; set; }