Я запускаю MVC3 с Razor и заметил, что десятичные значения усекаются до 2 десятичных разрядов в режиме редактирования. Мне удалось обойти это, пометив мою собственность с форматом отображения. Это не очень хорошее решение, так как мне придется помнить об этом при каждом новом генерируемом представлении (или обновлять мои шаблоны).
Я проверил значение, возвращаемое нашей службой контроллеру, и оно верное на 1.144, но когда привязано к представлению, оно выходит как 1.14 в TextBox
Свойство ViewModel
[Required]
[Display(Name = "Unit Price")]
public decimal UnitPrice { get; set; }
.cshtml Код
@Html.LabelFor(model => model.UnitPrice)
@Html.EditorFor(model => model.UnitPrice)
@Html.ValidationMessageFor(model => model.UnitPrice)
Если я украсил свойство следующим, то это сработает.
[DisplayFormat(
ApplyFormatInEditMode = true,
DataFormatString = "{0:0.00###########################}",
NullDisplayText = "")]
Есть идеи?