Я храню валюту с типом данных decimal.
public decimal money { get; set; }
Я хочу отобразить это со знаком "£".поэтому я использую
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:c}")]
Это прекрасно работает.Значение отображается в таблице и сериализуется с использованием jQuery.
@Html.EditorFor(model => model.money, "Currency")
После того, как информация сериализована, я создаю сообщение ajax, чтобы получить информацию обратно в мой ActionResult.
Data = $('#container :input').serialize();
public PartialViewResult EditedValue(MoneyModel viewModel)
{
return PartialView("_MoneyView", viewModel);
}
Этот объект MoneyModel содержит десятичные деньги.ПРОБЛЕМА, деньги преобразуются в строку в представлении и при сериализации остаются в виде строки.Это не может быть приведено к десятичной дроби в MoneyModel.
Как мне решить эту проблему?Я хотел бы оставить «£» и «,» для отформатированной валюты «£ 1000», но не хочу конвертировать десятичные деньги -> строковые деньги в MoneyModel.