TextBoxFor:INumber类型但默认值=“”

时间:2017-11-10 22:12:53

标签: asp.net razor asp.net-core-2.0

我正在使用Asp.net Core 2.0,我有以下代码:

@Html.TextBoxFor(model => model.personalData.sonsNumber, null, new { type = "number", value = "", required = "required", pattern="[0-9]" })

我正在尝试使用HMTL5提供的验证功能。问题是我的model.personalData.sonsNumber是一个int并且有一个数字作为默认值,我需要将默认值设置为空字符串(“”)。

我已经尝试了value=""但它无效。

任何人都可以告诉我如何实现这个目标吗?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以将属性的类型从int更改为nullable int(int?

public class PersonalData
{
   [Required]  
   public int? SonsNumber { set;get;}  // I took the freedom to follow CamelCasing :)
}

nullable int的默认值现在为NULL,因此标记helper / html helper将呈现空字符串。 int类型的默认值为0