Скрытые поля не обновляются после обратной отправки HTML-формы - PullRequest
18 голосов
/ 23 февраля 2012
@Html.HiddenFor(model => model.JobIndicator)

Значение для JobIndicator не обновляется после отправки страницы.

Я вижу, как значение обновляется, когда оно отображается в поле отображения.

Ответы [ 5 ]

31 голосов
/ 23 февраля 2012

Поместите это в свой контроллер:

ModelState.Remove("JobIndicator");

Тогда ваше скрытое поле будет обновлено.

19 голосов
/ 13 октября 2016

Проблема в том, что Html-помощники получают данные от ModelState, а не от модели, которую вы передаете при вызове действия после публикации . Чтобы решить эту проблему, вы можете позвонить ModelState.Clear() вопубликовать действие перед возвратом своего представления. Таким образом, информация в ModelState будет очищена и повторно заполнена после восстановления вашего представления.

Более подробную информацию об этой проблеме (и других решениях) можно найти вэтот блог

1 голос
/ 25 декабря 2017

Сам столкнулся с этим вопросом. Решение (хотя и не элегантное) состоит в том, чтобы использовать для этого базовый синтаксис HTML и использовать значение модели.

<input type="hidden" name="JobIndicator" value="@Model.JobIndicator">
0 голосов
/ 21 ноября 2018

Вместо того, чтобы ...

@Html.HiddenFor(m => m.JobIndicator)

если вы поместите переменную в объект, она будет работать как положено.

@Html.HiddenFor(m => m.SomeOject.JobIndicator)

Только кажется, что это верхний уровень.

0 голосов
/ 22 сентября 2016

Просто убедитесь, что эта строка находится внутри тега формы

@Html.HiddenFor(model => model.JobIndicator)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...