Шаблон редактора не работает с DisplayFormat

Я пытаюсь создать шаблон редактора для поля 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 игнорируется, когда у меня есть шаблон редактора?

8
задан Dismissile 19 August 2011 в 19:41
поделиться