1

我无法让我的 DateTime EditorTemplate 工作。

我的 ViewModel 中有:

 public class CreateViewModel
{
    // Customer
    public int CustomerId { get; set; }
    [Required]
    [DataType(DataType.DateTime)]
    [Display(Name = "Arrival Date")]
    [DisplayFormat(DataFormatString = "{0:dd MMM yyyy}", ApplyFormatInEditMode = true)]
    [UIHint("DateTime")]
    public DateTime ArrivalDate { get; set; }
}

我的 Shared -> EditorTemplates 文件夹中也有 DateTime.cshtml:

@model DateTime?
@Html.TextBox(
"", 
string.Format("{0:dd MMM yyyy}", Model ?? DateTime.Today), 
new { 
    @class = "textbox datepicker"
} 
)

在我看来,我有:

  @Html.TextBoxFor(m => m.ArrivalDate)

但是,我的 DateTime.cshtml 似乎没有被调用 - 因为它仍在文本框中显示日期:

15/07/2013 00:00:00但它应该是15 July 2013- 没有时间。

我错过了什么?

谢谢。

4

1 回答 1

1

如果你想使用和编辑器模板,你需要使用Html.EditorHtml.EditorFor

如果您使用任何其他帮助程序,例如Html.TextBoxor Html.TextboxFor,则不会应用该模板。

同样,如果要使用显示模板,则需要使用Html.DisplayHtml.DisplayFor

于 2013-07-10T11:57:25.760 回答