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?


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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.