代码之家  ›  专栏  ›  技术社区  ›  RailRhoad

ASP.NET MVC模型状态

  •  3
  • RailRhoad  · 技术社区  · 15 年前

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

    我注意到我的特定模型状态中有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
    
    2 回复  |  直到 15 年前
        1
  •  3
  •   Kieron    15 年前

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

    如果您检查了 ModelState 类,您将看到它有一个错误集合,该集合允许您迭代错误项(即 ModelError 实例)查看是什么导致的。

        2
  •  2
  •   Tony Borf    15 年前

    在控制器中;

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

    视而不见;

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

    <%= Html.ValidationSummary() %>
    

    html.validationSummary()可能是您要查找的内容。