2013-07-10 51 views
1

我無法讓我的DateTime EditorTemplate正常工作。EditorTemplate不會覆蓋我的視圖中的文本框

我有我的視圖模型:

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; } 
} 

我也有我的共享 - > 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 - 沒有時間。

這是什麼我錯過了?

謝謝。

+0

你使用Html.TextBox或Html.Display? – JotaBe

+0

嗨 - 我正在使用:@ Html.TextBoxFor(m => m.ArrivalDate) – Mark

+0

啊哈 - 我現在看到,如果您使用EditorFor它的作品! – Mark

回答

1

如果你的魔杖的使用和編輯模板,你需要如果你使用任何其他幫手,像Html.TextBoxHtml.TextboxFor使用Html.EditorHtml.EditorFor

,模板將不會被應用。

同樣,如果您要使用顯示模板,則需要使用Html.DisplayHtml.DisplayFor