0

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

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

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

他是怎么得到的Start.Date
因为他只有StartandEnd在他的模型中。他在哪里定义变量Date

当我实现上述代码时出现错误:“System.Nullable”不包含“日期”的定义

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

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

谢谢!!

4

1 回答 1

0

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

另一方面,您的模型使用 type 的属性,该属性DateTime?是引用类型并且可以是null. 可空类型是值类型的引用类型包装器。它们都公开了一个名为.HasValuetypebool的属性.Value,以及包装可空类型对应的类型的属性。在 的情况下,属性DateTime?的类型是。.ValueDateTime

对于您的模型,以下内容应该可以工作:

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

于 2014-05-12T22:06:43.887 回答