TextBoxFor:INumber 类型,但默认值为“”

TextBoxFor: INumber type but with default value = ""

我正在使用 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="" 但它不起作用。

任何人都可以告诉我如何完成吗?

提前致谢。

您可以将 属性 的类型从 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 帮助程序将为此呈现空字符串。 int 类型的默认值为 0