我正在学习 MVC,在 ASP.Net MVC 3 中,ModelState类是什么?我看过谷歌和 MSDN,但我似乎无法清楚地了解它的目的。任何人都可以帮忙吗?
2 回答
查看该部分下的http://www.gxclarke.org/2010/05/consumption-of-data-in-mvc2-views.htmlViewData.ModelState
。
ModelState 属性是一个字典对象,用于跟踪提交给服务器的 HTTP 值。除了存储每个字段的名称和值之外,它还跟踪相关的验证错误。尽管它的名字可能暗示其他情况,但 ModelState 不是模型感知的。它不明白什么是“产品”。它只包含名称如“ProductName”和“UnitPrice”的项目集合。其他对象(ModelBinders、ViewResult 和强类型视图)负责将 ModelState 值映射和解释为模型属性
MVC 中的ModelState
Class 是一个包含集合的类,该集合具有在 Post 方法中提交给服务器的数据的键和值。当 MVC 遇到 post 时,它会获取 post 请求中的所有参数并将它们放在实例中一个ModelStateDictionary
。只要ModelState
在服务器中处于活动状态,模型的属性就会根据与它们关联的验证属性进行验证。如果任何属性无效,它将被添加到错误列表中。并且该属性ModelState.IsValid
将设置为false
. 您可以稍后在代码中使用它来检查一切是否正确。
请参阅此链接以获取更多信息。