Datetime 日期/时间模型活页夹

Datetime 日期/时间模型活页夹,datetime,modelbinder,Datetime,Modelbinder,我已经遵循了下面教程中的每个步骤,但遇到了一些问题。我的目的是使用model binder绑定日期和时间,然后保存在datetime字段中。 我有一个简单的问题:他如何在编辑视图中实现以下代码? "<%: Html.EditorFor(model => model.Start.Date)%>" “model.Start.Date)%>” 他是怎么开始的日期的? 因为他的模型中只有Start和End。他在哪里定义变量Date 我在实现上述代码时出错: “System.Nu

我已经遵循了下面教程中的每个步骤,但遇到了一些问题。我的目的是使用model binder绑定日期和时间,然后保存在datetime字段中。

我有一个简单的问题:他如何在编辑视图中实现以下代码?

"<%: Html.EditorFor(model => model.Start.Date)%>" 
“model.Start.Date)%>”
他是怎么开始的日期的?
因为他的模型中只有
Start
End
。他在哪里定义变量
Date

我在实现上述代码时出错: “System.Nullable”不包含“Date”的定义

我确信我的模型和DateTimeModelBinder.cs与他的代码完全相同

请告诉我为什么不能使用
model=>model.Start.Date
或者告诉我任何教程明确教我如何绑定日期和时间


谢谢

NET中的
DateTime
数据类型公开了一些属性,例如
.Date
(相同的日期值,但时间设置为上午12点)、
.TimeOfDay
.Year
,等等。您提到的示例博客文章使用了
DateTime
,因此所有这些属性都可用。还要注意,
DateTime
是一种值类型,不能为
null

另一方面,您的模型使用类型为
DateTime?
的属性,该属性是引用类型,可以是
null
。可空类型是围绕值类型的引用类型包装器。它们都公开了类型为
bool
的名为
.HasValue
的属性,以及包装可空类型对应的类型的属性
.Value
。如果是
DateTime?
,则
.Value
属性的类型为
DateTime

对于您的模型,以下各项应适用:


model.Start.Value.Date)%%>

谢谢!正如您所说,DateTime是一种值类型,不能为null。这解决了我的问题。