日期/时间模型活页夹

时间:2014-05-11 05:30:11

标签: datetime modelbinder

我已经按照以下教程中的每一步进行操作但遇到了一些问题。我的目的是使用模型绑定器绑定日期和时间,然后保存在datetime字段中。 http://devblog.lundy.us/2010/09/28/date-time-picker-asp-net-mvc-jquery-part-1/

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

"<%: Html.EditorFor(model => model.Start.Date)%>" 

他是如何获得Start.Date的? 因为他的模型中只有StartEnd。他在哪里定义变量Date

当我实现上面的代码时出现错误: &#39; System.Nullable&#39;不包含&#39;日期&#39;

的定义

我确信我的代码和DateTimeModelBinder.cs完全相同。

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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

另一方面,您的模型使用DateTime?类型的属性,该属性是引用类型,可以是null。可空类型是值类型的引用类型包装器。所有这些属性都公开了一个名为.HasValue的{​​{1}}类型的属性,以及一个包装可空类型对应的类型的属性bool。如果是.Value,则DateTime?属性的类型为.Value

使用您的模型,以下内容应该有效:

DateTime