我正在使用Razor运行MVC3并注意到在编辑模式下十进制值被截断为2位小数.我已经设法通过用显示格式注释我的属性来绕过它.这似乎不是一个非常好的解决方案,因为我必须记住为我生成的每个新视图(或更新我的模板)执行此操作.
我已经检查了我们的服务返回给控制器的值,它在1.144是正确的,但当绑定到视图时,它在TextBox中显示为1.14
ViewModel属性
[Required]
[Display(Name = "Unit Price")]
public decimal UnitPrice { get; set; }
Run Code Online (Sandbox Code Playgroud)
.cshtml代码
@Html.LabelFor(model => model.UnitPrice)
@Html.EditorFor(model => model.UnitPrice)
@Html.ValidationMessageFor(model => model.UnitPrice)
Run Code Online (Sandbox Code Playgroud)
如果我使用以下内容装饰该属性,那么它的工作原理.
[DisplayFormat(
ApplyFormatInEditMode = true,
DataFormatString = "{0:0.00###########################}",
NullDisplayText = "")]
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?