Я запускаю 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 = "")]
Любые идеи?