Как мне получить доступ к ModelState из моего представления (страница aspx)?


114

Как мне получить доступ к ModelState из моего представления (страница aspx)?


1
Я не думаю, что тебе стоит. Подобные вещи должны происходить в контроллере.
Мэтью Гроувс,

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

12
Звучит как достаточно веская причина для доступа к ModelState
BritishDeveloper

Нет ничего плохого в доступе к ModelState в представлении. Это часть ViewData.
kennythecoder

Ответы:


181

Используйте ViewContext.ViewData.ModelState.


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