我已经按照以下教程中的每一步进行操作但遇到了一些问题。我的目的是使用模型绑定器绑定日期和时间,然后保存在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
的?
因为他的模型中只有Start
和End
。他在哪里定义变量Date
?
当我实现上面的代码时出现错误: &#39; System.Nullable&#39;不包含&#39;日期&#39;
的定义我确信我的代码和DateTimeModelBinder.cs完全相同。
请告诉我为什么我不能使用model => model.Start.Date
或者告诉我任何教程明确教我如何绑定日期和时间。
谢谢!
答案 0 :(得分:0)
.NET中的DateTime
数据类型公开了一些属性,例如.Date
(相同的日期值,但时间设置为12am),.TimeOfDay
,.Year
您所引用的示例博客文章使用DateTime
,因此所有这些属性都可用。另请注意,DateTime
是值类型,不能是null
。
另一方面,您的模型使用DateTime?
类型的属性,该属性是引用类型,可以是null
。可空类型是值类型的引用类型包装器。所有这些属性都公开了一个名为.HasValue
的{{1}}类型的属性,以及一个包装可空类型对应的类型的属性bool
。如果是.Value
,则DateTime?
属性的类型为.Value
。
使用您的模型,以下内容应该有效:
DateTime