2010-06-16 4 views
0

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

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

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

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

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

ответ

Смежные вопросы