decimal type属性为文本框添加零

时间:2014-01-20 21:03:49

标签: asp.net-mvc asp.net-mvc-4

我有一个 MVC4 应用程序,其中一个属性的类型为decimal,当它加载视图时,它会向文本框添加

如何在第一次加载时将文本框设为空?

    [DataType(DataType.Currency)]
    [Column(TypeName = "money")]
    [Display(Name ="Amount")]
    [Required(ErrorMessage = "You must add amount")]
    public decimal Amount { get; set; }

   @Html.TextBoxFor(model => model.Amount, new { @class = "form-control" })

感谢。

1 个答案:

答案 0 :(得分:3)

这是第一次加载时显示为零,因为您没有用任何东西填充模型。因此,ViewEngine会插入十进制类型的“默认”值,即零。

要使它不显示任何内容,您需要使您的小数属性可以为空。

[DataType(DataType.Currency)]
[Column(TypeName = "money")]
[Display(Name ="Amount")]
[Required(ErrorMessage = "You must add amount")]
public decimal? Amount { get; set; }

现在,视图引擎会将默认值视为null并创建一个空文本框。