Wie greife ich über meine Ansicht (aspx-Seite) auf den ModelState zu?

114

Wie greife ich über meine Ansicht (aspx-Seite) auf den ModelState zu?

Saajid Ismail
quelle
1
Ich denke nicht, dass du solltest. So etwas sollte im Controller passieren.
Matthew Groves
1
Ich muss wissen, ob mein ModelState gültig ist. Ich möchte dies nicht tun: <% if (Html.ValidationSummary ()! = Null)%> <% {%> <p class = "Validierungszusammenfassungsfehler"> Ihre Nachricht wurde nicht gesendet. Bitte korrigieren Sie die folgenden Fehler und versuchen Sie es erneut. </ p> <%}%> Stattdessen möchte ich Folgendes tun: <% if (! ViewData.ModelState.IsValid) {%> <p class = "Validierungszusammenfassungsfehler"> Ihre Nachricht wurde nicht gesendet. Bitte korrigieren Sie die folgenden Fehler und versuchen Sie es erneut. </ p> <%}%>
Saajid Ismail
12
Das klingt nach einem guten Grund, auf ModelState
BritishDeveloper am
Es ist absolut nichts Falsches daran, in der Ansicht auf ModelState zuzugreifen. Es ist Teil von ViewData.
Kennythecoder

Antworten:

179

Verwenden Sie ViewContext.ViewData.ModelState.

Mathias F.
quelle
19
Es ist auch erwähnenswert, dass Sie dies einfach tun können ViewData.ModelStateund wenn Sie ein bedingtes Markup für Fehler anzeigen möchten, können Sie dies wie @if (!ViewData.ModelState.IsValid)
folgt