Итак, я пытаюсь написать несколько собственных расширений MVC, и первое, что я пытаюсь решить, - это FormattedTextBox для обработки таких вещей, как валюта, даты и время. У меня есть рендеринг, который работает отлично, форматирует его, работает с сильными типами и всем золотым. Однако проблема, с которой я сейчас сталкиваюсь, заключается в очистке отформатированного содержимого, когда страница отправляет данные обратно.
Взять, к примеру, формат валюты. Давайте использовать USD для этих примеров. Если у объекта есть свойство в виде десятичного числа, значение будет 79.95
. Ваш вид редактирования будет выглядеть примерно так:
<%= Html.FormattedTextBox(model => Model.Person.HourlyWage, "{0:C}") %>
Это все хорошо для запроса GET, но после POST значение будет $79.95
, которое, когда вы назначаете этому десятичному знаку, очень быстро становится несчастным и в итоге выдает туда 0
.
Итак, мой вопрос: как заставить код работать где-то для работы с этим значением до того, как MVC Framework запустится и начнет пихать его обратно в мою ViewModel? Я бы предпочел сделать это на стороне сервера, а не на стороне клиента.
Спасибо !!