我无法让我的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; }
}
我也有我的共享 - > 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 :(得分:1)
如果您要使用魔杖和编辑模板,则需要使用Html.Editor
或Html.EditorFor
如果您使用任何其他帮助,例如Html.TextBox
或Html.TextboxFor
,则不会应用该模板。
同样,如果您想使用展示广告模板,则需要使用Html.Display
或Html.DisplayFor
。