В моей модели есть следующее поле:
public Decimal AnnualSalary { get; set; }
Отображается в моем представлении как:
@Html.EditorFor(model => model.SelectedPerson.AnnualSalary)
Это дает мне формат данных с двумя десятичными знаками.Я также хотел бы разделитель запятых тысяч.Итак, я создал файл с именем Decimal.cshtml в моей общей |Папка «Шаблоны редактора», которая содержит следующее:
@model Decimal
@Html.TextBox("", Model.ToString("#,##0.00"))
Это дает мне отображение, которое я хочу в редакторе для существующих данных.Однако, когда я иду, чтобы сохранить измененные данные, это не удается.Если я удаляю десятичный шаблон редактора, тогда данные сохраняются нормально.
Я также отмечаю, что без нового шаблона редактора я не получаю ошибку проверки на стороне клиента, если я ввожу запятую в это текстовое поле, однако мои данные все еще не сохраняются.
Как будто проверка на стороне клиента вполне рада принять разделитель тысяч, но что-то на стороне сервера, когда код EF сначала пытается сохранить данные, не похож на разделитель тысяч.
Это кажется довольно распространенным требованием, но я изо всех сил пытаюсь найти окончательный ответ где угодно.