【发布时间】:2012-08-22 22:54:03
【问题描述】:
我正在尝试为 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?
【问题讨论】:
标签: .net asp.net-mvc asp.net-mvc-3 mvc-editor-templates