MVC 3 验证 - 格式化日期时间
我想以干净的方式在 razor 中格式化我的 DateTime 字段。
[MetadataType(typeof(Guestbook_Validation))]
public partial class web_GuestBook
{
// Partial generated EF
}
[Bind(Exclude="Id")]
public class Guestbook_Validation
{
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime? DateEntered { get; set; }
}
然后
@item.DateEntered
但它仍然显示为 05/01/2009 13:28:14
我哪里出错了?
I want to format my DateTime field in razor in a clean way.
[MetadataType(typeof(Guestbook_Validation))]
public partial class web_GuestBook
{
// Partial generated EF
}
[Bind(Exclude="Id")]
public class Guestbook_Validation
{
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime? DateEntered { get; set; }
}
Then
@item.DateEntered
But its still displaying as 05/01/2009 13:28:14
Where am I going wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您希望使用显示格式,请使用
Html.DisplayFor(x => x.DateEntered)
。Use
Html.DisplayFor(x => x.DateEntered)
if you want the display format to be used.请参阅此答案:
为 MVC3 DateTime 设置 DataFormatString
您必须使用 < code>EditorFor 在视图中,并在视图模型中使用
ApplyFormatInEditMode = true
- 对于文本框。要仅显示,请使用DisplayFor
See this answer:
Set DataFormatString for MVC3 DateTime
You have to use
EditorFor
in the view and useApplyFormatInEditMode = true
in your viewmodel - For textbox. To display only, useDisplayFor