Что такое класс ModelState в MVC 3?
Я изучаю MVC, а в ASP.Net MVC 3, что такое ModelState класс? Я посмотрел на Google и MSDN, но я не могу понять, как это сделать. Может ли кто-нибудь помочь?
Ответы
Ответ 1
Посмотрите http://www.gxclarke.org/2010/05/consumption-of-data-in-mvc2-views.html в разделе ViewData.ModelState
.
Свойство ModelState представляет собой объект словаря, который отслеживает значения HTTP, отправленные на сервер. Помимо сохранения имени и значения каждого поля, он также отслеживает связанные ошибки проверки. Хотя его название может предложить иначе, ModelState не поддерживает модель. Он не понимает, что такое "Продукт". Он просто содержит набор элементов с именами, такими как "ProductName" и "UnitPrice". Это ответственность других объектов - ModelBinders, ViewResult и строго типизированного View-to для отображения и интерпретации значений ModelState в качестве свойств модели.
Ответ 2
Класс ModelState
в MVC - это класс, который содержит коллекцию, которая имеет ключ и значения данных, отправленных на сервер в методе Post. Когда MVC попадает в сообщение, он принимает все параметры в почтовом запросе и помещает их в экземпляр ModelStateDictionary
. Всякий раз, когда ModelState
активен на сервере, свойства модели проверяются в соответствии с атрибутами проверки, которые связаны с ними. И если какое-либо свойство недействительно, оно будет добавлено в список ошибок. И свойство ModelState.IsValid
будет установлено в false
. Вы можете использовать это позже в своем коде, чтобы проверить, все ли правильно.
Обратитесь к этой для получения дополнительной информации.