3

ModelState.IsValid 在我的控制器中为我返回 false。我知道这意味着在模型绑定时发现了一个或多个模型错误。我的问题是如何查看错误?

我注意到我的特定 ModelState 中有 6 个项目。如果我尝试做这些...

ModelState[0].Errors[0].ToString()
ModelState[0].Errors[0].ErrorMessage
ModelState[0].Value.AttemptedValue

我收到此错误:

The best overloaded method match for 'System.Web.Mvc.ModelStateDictionary.this[string]' has some invalid arguments
4

2 回答 2

3

ModelState 的索引器是一个字符串(通常是有问题的模型的属性名称或 html 元素的名称)。

如果您查看 MSDN 文档中的ModelState类,您会看到它有一个 Errors 集合,允许您遍历错误项(它们是ModelError实例)以查看导致它们的原因。

于 2009-10-15T13:16:48.760 回答
2

在控制器中;

ModelState.AddModelError("username", "Bad username");

考虑到;

 <%= Html.ValidationMessage("username") %>

<%= Html.ValidationSummary() %>

Html.ValidationSummary() 可能是您正在寻找的。

于 2009-10-15T13:21:26.477 回答