Як мені отримати доступ до ModelState з мого представлення (сторінка aspx)?


114

Як мені отримати доступ до ModelState з мого представлення (сторінка aspx)?


1
Я не думаю, що слід. Таке щось має відбуватися в Контролері.
Меттью Гроуз,

1
Мені потрібно знати, чи дійсна моя ModelState. Я не хочу цього робити: <% if (Html.ValidationSummary ()! = Null)%> <% {%> <p class = "validation-sum-errors"> Ваше повідомлення не надіслано. Виправте наведені нижче помилки та повторіть спробу. </p> <%}%> Натомість я хочу це зробити: <% if (! ViewData.ModelState.IsValid) {%> <p class = "validation-sum-errors"> Ваше повідомлення не надіслано. Виправте наведені нижче помилки та повторіть спробу. </p> <%}%>
Saajid Ismail

12
Це звучить як достатньо вагомий привід для доступу до ModelState
BritishDeveloper

З доступом до ModelState у представленні даних абсолютно нічого поганого. Це частина ViewData.
kennythecoder

Відповіді:


179

Використовуйте ViewContext.ViewData.ModelState.


19
Також варто зауважити, що ви можете просто робити, ViewData.ModelStateі якщо ви хочете відобразити деяку умовну розмітку на помилках, ви можете зробити так:@if (!ViewData.ModelState.IsValid)
Людина Muffin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.