¿Cómo accedo a ModelState desde mi Vista (página aspx)?

114

¿Cómo accedo a ModelState desde mi Vista (página aspx)?

Saajid Ismail
fuente
1
No creo que debas. Ese tipo de cosas deberían suceder en el controlador.
Matthew Groves
1
Necesito saber si mi ModelState es válido. No quiero hacer esto: <% if (Html.ValidationSummary ()! = Null)%> <% {%> <p class = "validation-summary-errors"> Su mensaje no fue enviado. Corrija los errores a continuación y vuelva a intentarlo. </p> <%}%> En su lugar, quiero hacer esto: <% if (! ViewData.ModelState.IsValid) {%> <p class = "validation-summary-errors"> Su mensaje no fue enviado. Corrija los errores a continuación y vuelva a intentarlo. </p> <%}%>
Saajid Ismail
12
Eso suena como una razón suficientemente buena para acceder a ModelState
BritishDeveloper
No hay absolutamente nada de malo en acceder a ModelState en la vista. Es parte de ViewData.
kennythecoder

Respuestas:

179

Utilice ViewContext.ViewData.ModelState.

Mathias F
fuente
19
También vale la pena señalar que puede hacerlo ViewData.ModelStatey si desea mostrar algún marcado condicional en los errores, puede hacerlo así:@if (!ViewData.ModelState.IsValid)
The Muffin Man