Comment accéder à ModelState depuis ma vue (page aspx)?

114

Comment accéder à ModelState depuis ma vue (page aspx)?

Saajid Ismail
la source
1
Je ne pense pas que tu devrais. Ce genre de chose devrait se produire dans le contrôleur.
Matthew Groves
1
J'ai besoin de savoir si mon ModelState est valide. Je ne veux pas faire ceci: <% if (Html.ValidationSummary ()! = Null)%> <% {%> <p class = "validation-summary-errors"> Votre message n'a pas été envoyé. Veuillez corriger les erreurs ci-dessous et réessayer. </p> <%}%> À la place, je veux faire ceci: <% if (! ViewData.ModelState.IsValid) {%> <p class = "validation-summary-errors"> Votre message n'a pas été envoyé. Veuillez corriger les erreurs ci-dessous et réessayer. </p> <%}%>
Saajid Ismail
12
Cela semble être une raison suffisante pour accéder à ModelState
BritishDeveloper
Il n'y a absolument rien de mal à accéder à ModelState dans la vue. Cela fait partie de ViewData.
kennythecoder

Réponses:

179

Utilisez ViewContext.ViewData.ModelState.

Mathias F
la source
19
Il convient également de noter que vous pouvez simplement le faire ViewData.ModelStateet si vous souhaitez afficher un balisage conditionnel sur les erreurs, vous pouvez le faire comme ceci:@if (!ViewData.ModelState.IsValid)
The Muffin Man