13

我正在学习 MVC,在 ASP.Net MVC 3 中,ModelState类是什么?我看过谷歌和 MSDN,但我似乎无法清楚地了解它的目的。任何人都可以帮忙吗?

4

2 回答 2

22

查看该部分下的http://www.gxclarke.org/2010/05/consumption-of-data-in-mvc2-views.htmlViewData.ModelState

ModelState 属性是一个字典对象,用于跟踪提交给服务器的 HTTP 值。除了存储每个字段的名称和值之外,它还跟踪相关的验证错误。尽管它的名字可能暗示其他情况,但 ModelState 不是模型感知的。它不明白什么是“产品”。它只包含名称如“ProductName”和“UnitPrice”的项目集合。其他对象(ModelBinders、ViewResult 和强类型视图)负责将 ModelState 值映射和解释为模型属性

于 2013-04-13T20:28:42.753 回答
1

MVC 中的ModelStateClass 是一个包含集合的类,该集合具有在 Post 方法中提交给服务器的数据的键和值。当 MVC 遇到 post 时,它会获取 post 请求中的所有参数并将它们放在实例中一个ModelStateDictionary。只要ModelState在服务器中处于活动状态,模型的属性就会根据与它们关联的验证属性进行验证。如果任何属性无效,它将被添加到错误列表中。并且该属性ModelState.IsValid将设置为false. 您可以稍后在代码中使用它来检查一切是否正确。

请参阅链接以获取更多信息。

于 2015-10-28T12:05:37.230 回答