У меня есть свойство модели, которое я пытаюсь отобразить с помощью шаблона 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: Неважно, причина, по которой это сработало, заключается в том, что мой шаблон отображения Decimal был жестко запрограммирован для такого форматирования. Так что мой шаблон отображения тоже не работает.
@Html.EditorForModel()
в своем шаблоне? - person Jon   schedule 21.10.2011