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.