Asp.net mvc 4 Datetime字段上的数据类型属性破坏jQuery datepicker

Asp.net mvc 4 Datetime字段上的数据类型属性破坏jQuery datepicker,asp.net-mvc-4,razor,view,jquery-ui-datepicker,editorfor,Asp.net Mvc 4,Razor,View,Jquery Ui Datepicker,Editorfor,我使用的是MVC4和Razor视图,很难理解为什么我的日期字段上的编辑视图没有正确绑定到内置的jQuery日期选择器 该字段在数据库中为数据类型Date,在域模型中为DateTime。我不想显示时间,只想显示日期。该字段为必填字段,需要设置格式 我的观点是这样的: <div class="editor-label"> @Html.LabelFor(model => model.Appointment.EndDate) </div> <div class

我使用的是MVC4和Razor视图,很难理解为什么我的日期字段上的编辑视图没有正确绑定到内置的jQuery日期选择器

该字段在数据库中为数据类型
Date
,在域模型中为
DateTime
。我不想显示时间,只想显示日期。该字段为必填字段,需要设置格式

我的观点是这样的:

<div class="editor-label">
    @Html.LabelFor(model => model.Appointment.EndDate)
</div>
<div class="editor-field">
    @Html.EditorFor(model => model.Appointment.EndDate)
    @Html.ValidationMessageFor(model => model.Appointment.EndDate)
</div>
然后,我在edit.cshtml上的编辑器输出如下:

<input class="text-box single-line" data-val="true" data-val-date="The field End Date must be a date." data-val-required="End Date must be a valid date, like 05/13/2016." id="Appointment_EndDate" name="Appointment.EndDate" type="date" value="05/09/2013">
那么我的编辑器输出是:

<input class="text-box single-line valid" data-val="true" data-val-date="The field End Date must be a date." data-val-required="End Date must be a valid date, like 05/13/2016." id="Appointment_EndDate" name="Appointment.EndDate" **type="datetime"** value="05/09/2013">

这将绘制一个值设置正确的纯文本框(无日期选择器)


我想使用datepicker,但设置了正确的值,如何执行此操作?

请尝试以下代码:

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime? EndDate { get; set; }
(我使用了一个可空的datetime;但实际上并不需要它)

在GUI中使用:

@Html.EditorFor(m => m.EndDate )
这应该行得通

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime? EndDate { get; set; }
@Html.EditorFor(m => m.EndDate )