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