如何从剃须刀视图中检查我的模型是否有效?

Sam*_*tar 53 asp.net-mvc razor asp.net-mvc-3

我需要检查我的模型是否在我的Razor视图中有效.如果它有效,那么我希望能够显示一些HTML.

我怎样才能做到这一点.我想要类似的东西

@if ( Model.IsValid ) {

}
Run Code Online (Sandbox Code Playgroud)

但以上不起作用

Phi*_*ein 86

您可以检查ModelState是否有效,但请记住,您只是在Web请求发出时检查ModelState的有效性:

@if (ViewData.ModelState.IsValid) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

此外,您可以在视图中检查模型上属性的有效性:

@if (ViewData.ModelState.IsValidField("FIELD_NAME")) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

  • 提及模型状态验证时的+1. (3认同)
  • 传递给`IsValidField`的`FIELD_NAME`必须是与整个ViewModel层次结构相关的字段的**全名**. (2认同)