小编Cra*_*aig的帖子

MVC3 Decimal在编辑时截断为2位小数

我正在使用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)

有任何想法吗?

asp.net-mvc razor asp.net-mvc-3

26
推荐指数
3
解决办法
3万
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-3 ×1

razor ×1