MVC 2, Custom ModelBinder и сохранение «значения попытки» для представления - PullRequest
0 голосов
/ 16 июня 2010

У меня есть объект, который ранее переключался с сервера на клиент и обратно (то есть редактирование и просмотр форм работали нормально). Однако я добавил к этому объекту сложный тип и создал собственный ModelBinder для его обработки. Сложный тип может быть представлен как одна строка, но хранится в объекте как десятичное число (например, «0 футов 3 дюйма» может быть сохранено как 0,25).

Моя проблема, однако, в том, что проверка не удалась. Если пользователь вводит «asdf», проверка не проходит. Но то, что хранится в десятичном виде, это просто 0. Поэтому, когда представление отображается и отправляется пользователю, они просто видят «0» и сообщение об ошибке, а не «asdf». У меня нет этой проблемы с ModelBinder по умолчанию (другие поля обходят недопустимую строку просто отлично), поэтому я должен что-то упустить в моем пользовательском ModelBinder ... но что это?

Я пытался позвонить

bindingContext.ModelState.SetModelValue(bindingContext.ModelName, New ValueProviderResult(null, attemptedValue, Globalization.CultureInfo.CurrentCulture))

Но, похоже, это ни на что не влияет.

1 Ответ

0 голосов
/ 23 июня 2010

Нет ответов на StackOverflow. Получил ответ на форумах ASP.NET: http://forums.asp.net/p/1571473/3941396.aspx#3941396

...