我的模型类中有 DateTime 属性,
然后在视图中我正在使用:
@Html.TextBoxFor(m => m.BirthDay, new {@disabled="true" , @value="" })
在我的 View TextBox Displayed as [01/01/0001 00:00:00] 中,如何强制它为 Empty ?
我的模型类中有 DateTime 属性,
然后在视图中我正在使用:
@Html.TextBoxFor(m => m.BirthDay, new {@disabled="true" , @value="" })
在我的 View TextBox Displayed as [01/01/0001 00:00:00] 中,如何强制它为 Empty ?
DateTime 的默认值 = 01/01/0001 00:00:00
这是因为 DateTime 是一个结构而不是一个对象。这也适用于其他一些 C# 变量,例如默认值 = 0 的 Int
默认情况下,其他 C# 变量(如 String)可以为空,因为它们是一个对象。
要使这些结构可以为空,您需要在变量声明中添加一个 QuestionMark,例如
public DateTime? BirthDay { get; set; }
现在您的 DateTime 可以包含空值。并且您的文本框的值将默认不包含任何内容
在结构中添加?
是 C# 中的糖,用于Nullable<T>
结构的位置T
。
所以DateTime?
可以改写为Nullable<DateTime>
。
这能行吗?型号变化:
public DateTime? BirthDay {get; set;}
代替
public DateTime BirthDay {get; set;}
这会做到的。
@Html.TextBox("BirthDay", "", new {@disabled="true" })
它不是强类型的,TextBox
所以你可以设置任何你想要的值,在另一个方向上的绑定将正常工作,