Модель не отображает значения модели после публикации - PullRequest
0 голосов
/ 15 июля 2009

У меня есть страница ASP.NET MVC со списком элементов ...

//a vague representation
Model.someValue[0]     Model.someHiddenValue[0] 
Model.someValue[1]     Model.someHiddenValue[1]
Model.someValue[2]     Model.someHiddenValue[2]

Все поля являются необязательными, но они имеют некоторую проверку, о которой я показываю сообщения проверки.

Проблема в том, что когда я отправляю один раз и возвращаю исходное представление вместо перенаправления, скрытые поля не получают новое значение, но их новое значение находится в модели представления, передаваемой представлению.

Я думаю, что ModelState может переопределять модель как часть проверки. Я знаю, что могу сделать перенаправление и обойти проблему, но я хочу сохранить часть формы и показать ошибки проверки для остальных. Если других решений не существует, я просто проверю всю форму и сохраню ее, только когда все элементы действительны.

Ответы [ 2 ]

2 голосов
/ 16 июля 2009

Если значения присутствуют в ModelState, он показывает их вместо значений в вашей модели, поскольку они представляют «последнее» известное состояние, предоставленное пользователем.

Вам следует очистить ModelState, если вы на самом деле не хотите, чтобы пользователь снова внес изменения.

0 голосов
/ 15 июля 2009

Вы пробовали это?:

var newValue = new ValueProviderResult("value", "value", System.Globalization.CultureInfo.CurrentUICulture);

ModelState.SetModelValue("someHiddenValue", newValue);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...