我正在尝试为 DateTime 字段创建编辑器模板,但它似乎不尊重我的 DisplayFormat 属性。
我的模型:
public class Project
{
[Display(Name="Project Name")]
[Required]
public string ProjectName { get; set; }
[Display(Name="Start Date")]
[DisplayFormat(DataFormatString="{0:M/d/yyyy}", ApplyFormatInEditMode=true)]
public DateTime? StartDate { get; set; }
}
我在文件夹 /Views/Projects/EditorTemplates/DateTime.cshtml 中的编辑器模板
@model DateTime?
@Html.TextBoxFor(m => Model, new { @class="datepicker" })
这是将所有内容联系在一起的视图:
@model Project
<fieldset>
<legend>Project</legend>
<div class="editor-label">
@Html.LabelFor(m => m.ProjectName)
</div>
<div class="editor-field">
@Html.EditorFor(m => m.ProjectName)
@Html.ValidationMessageFor(m => m.ProjectName)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.StartDate)
</div>
<div class="editor-field">
@Html.EditorFor(m => m.StartDate)
@Html.ValidationMessageFor(m => m.StartDate)
</div>
</fieldset>
当我以这种方式拥有它时,我会看到日期的时间部分。当我删除编辑器模板时,它工作正常,只显示日期部分。为什么当我有编辑器模板时它似乎忽略了 DisplayFormat?