我的模型属性是这样的
[DisplayFormat(DataFormatString = "{0:MMM dd, yyyy}"), DisplayName("Procedure Effective From"),
DataType(DataType.Date)]
public DateTime ProcedureEffectiveFrom { get; set; }
在视野中
@Html.TextBoxFor(model => model.ProcedureEffectiveFrom, new { @class = "form-control date-picker" })
@Html.ValidationMessageFor(model => model.ProcedureEffectiveFrom)
我期待像这样的输出
1/27/2015
但输出是
1/27/2015 10:40:45 AM
有谁可以指出我做错了什么?
答案 0 :(得分:1)
使用[DisplayFormat]
和[DataType]
时,才会尊重@Html.DisplayFor()
和@Html.EditorFor()
。您需要使用接受格式字符串的重载来设置格式。
@Html.TextBoxFor(m => m.ProcedureEffectiveFrom, "{0:MM dd, yyyy}" new { @class = "form-control date-picker" })
答案 1 :(得分:1)
使用它
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MMM dd, yyyy}"),DisplayName("Procedure Effective From")]
public DateTime ProcedureEffectiveFrom { get; set; }
在视图中使用
@Html.EditorFor(model => model.ProcedureEffectiveFrom, new { @class = "form-control date-picker" })
@Html.ValidationMessageFor(model => model.ProcedureEffectiveFrom)
并显示日期时间
@Html.DisplayFor(model => model.ProcedureEffectiveFrom)
答案 2 :(得分:1)
在视图中您可以试试这个。
@Html.TextBoxFor(m => m.ProcedureEffectiveFrom, new { htmlAttributes = new { @Value = m.ProcedureEffectiveFrom.ToString("MM/dd/yyyy"), @class = "form-control" } })