Jak uzyskać dostęp do ModelState z poziomu mojego widoku (strona aspx)?


114

Jak uzyskać dostęp do ModelState z poziomu mojego widoku (strona aspx)?


1
Myślę, że nie powinieneś. Takie rzeczy powinny mieć miejsce w kontrolerze.
Matthew Groves

1
Muszę wiedzieć, czy mój ModelState jest prawidłowy. Nie chcę tego robić: <% if (Html.ValidationSummary ()! = Null)%> <% {%> <p class = "validation-summary-errors"> Twoja wiadomość nie została wysłana. Popraw poniższe błędy i spróbuj ponownie. </p> <%}%> Zamiast tego chcę zrobić to: <% if (! ViewData.ModelState.IsValid) {%> <p class = "validation-summary-errors"> Twoja wiadomość nie została wysłana. Popraw poniższe błędy i spróbuj ponownie. </p> <%}%>
Saajid Ismail

12
Brzmi to jak dobry powód, aby uzyskać dostęp do ModelState
BritishDeveloper

Nie ma absolutnie nic złego w dostępie do ModelState w widoku. Jest częścią ViewData.
kennythecoder

Odpowiedzi:


179

Użyj ViewContext.ViewData.ModelState.


19
Warto również zauważyć, że możesz po prostu to zrobić, ViewData.ModelStatea jeśli chcesz wyświetlić jakieś warunkowe znaczniki błędów, możesz zrobić to w następujący sposób:@if (!ViewData.ModelState.IsValid)
The Muffin Man
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.