Asp.net mvc 为MVC3日期时间设置DataFormatString
我在使用MVC3Asp.net mvc 为MVC3日期时间设置DataFormatString,asp.net-mvc,asp.net-mvc-3,datetime,Asp.net Mvc,Asp.net Mvc 3,Datetime,我在使用MVC3DateTime对象正确显示日期时遇到一些问题 在控制器中,我设置了Date=DateTime.Now 在ViewModel中: [Required(ErrorMessage = "Please enter a date")] [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.mm.yyyy}")] public DateTime Date { get; set; } 鉴于: @Html
DateTime
对象正确显示日期时遇到一些问题
在控制器中,我设置了Date=DateTime.Now
在ViewModel中:
[Required(ErrorMessage = "Please enter a date")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.mm.yyyy}")]
public DateTime Date { get; set; }
鉴于:
@Html.LabelFor(m => Model.Date, "Date")
@Html.ValidationMessageFor(m => Model.Date)
@Html.TextBoxFor(m => Model.DatoForIntervju, new { @class = "datepicker" })
输出:
<input class="datepicker" (...) value="26.09.2011 13:26:16" />
但是,我希望该值为26.09.11
为什么它不工作?您的viewModel是正确的(唯一的问题是,如果您想用C#显示短年份,您需要使用“yy”),但我不明白您如何处理这段代码
@Html.LabelFor(m => Model.Date, "Date")
@Html.ValidationMessageFor(m => Model.Date)
@Html.TextBoxFor(m => Model.DatoForIntervju, new { @class = "datepicker" })
我向您展示了如何添加日期选择器
,在此示例中日期
以正确的格式显示并从视图返回:
@Html.EditorFor(m => m.Date)
@Html.ValidationMessageFor(m => m.Date)
<script type="text/javascript">
$(document).ready(function () {
$('#Date').datepicker({ firstDay: 1, dateFormat: 'dd.mm.yy', clickInput: true });
});
</script>
@Html.EditorFor(m=>m.Date)
@Html.ValidationMessageFor(m=>m.Date)
$(文档).ready(函数(){
$(#Date').datepicker({firstDay:1,dateFormat:'dd.mm.yy',clickInput:true});
});
更改
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.mm.yyyy}")]
到
然后,使用
@Html.EditorFor(m => m.Date)
回答得好!我自己对textboxfor有这个问题。我发现这是一个有用的字符串格式资源,您可能会发现它对参考很有用:因为
{0:dd.mm.yyyy}
包括时间,所以{0:dd.mm.yy}
不是也包括时间吗?是的。格式字符串应为{0:dd.MM.yyyy}或{0:dd.MM.yy}.MM=分钟,MM=月
@Html.EditorFor(m => m.Date)