DisplayFormat не применяется к десятичному значению

У меня есть свойство модели, которое я пытаюсь визуализировать с помощью шаблона EditorFor, и я пытаюсь применить форматирование с помощью атрибута DisplayFormat. Однако это совсем не работает - это полностью игнорируется.

Вот мой шаблон:

@model System.Decimal?
@Html.TextBoxFor(m => m)

Вот моя модель:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:0.00}")]
public decimal? Retail { get; set; }

Вот мое мнение:

@Html.EditorFor(m => m.Retail)

Но он отображает текстовое поле со следующим значением:

189.9900

Это кажется довольно простым, но это не работает, и я понятия не имею, почему.

ОБНОВЛЕНИЕ: Просто для удовольствия, я попробовал это с шаблоном DisplayFor, и он сработал:

@Html.DisplayFor(m => m.Retail)

Так почему же шаблон DisplayFor работает, а не шаблон EditorFor, когда я установить ApplyFormatInEditMode в значение true?

ОБНОВЛЕНИЕ 2: Неважно, причина, по которой это сработало, в том, что мой шаблон десятичного отображения был жестко запрограммирован для такого форматирования. Так что мой шаблон отображения тоже не работает.

8
задан Leniel Maccaferri 12 October 2013 в 19:46
поделиться