日期时间值为空
本文关键字:时间 日期 | 更新日期: 2023-09-27 17:56:09
嘿,这有点难以解释,因为我什至不知道它是怎么发生的。我有一个日期选择器框,当页面加载时,该日期框设置为 null。一旦用户选择一个日期并单击提交按钮 - 页面正在重新加载并正常工作,但出现零的时间格式,日期如下所示:
2011/5/11 00:00:00
有没有办法摆脱帖子中的零或获取方法或任何可能的方法?
以下是我的代码在 aspx 页中的外观:
Begin Date: <%:Html.EditorFor(b => b.BeginDate)%><%:Html.ValidationMessageFor(b => b.BeginDate)%>
End Date: <%:Html.EditorFor(e => e.EndDate)%><%:Html.ValidationMessageFor(e => e.EndDate)%>
我的视图模型:
public DateTime? BeginDate { get; set; }
public DateTime? EndDate { get; set; }
这是基于达林的回答:
在视图模型中:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString ="{0:dd/MM/yyyy}")]
public DateTime? BeginDate { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime? EndDate { get; set; }
在我的.aspx页面中:
Begin Date: <%:Html.EditorFor(b => b.BeginDate)%><%:Html.ValidationMessageFor(b => b.BeginDate)%>
End Date: <%:Html.EditorFor(e => e.EndDate)%><%:Html.ValidationMessageFor(e => e.EndDate)%>
您可以在视图模型上使用 DisplayFormat
属性:
public class MyViewModel
{
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime Date { get; set; }
}
在您的视图中,您将使用 EditorFor
帮助程序生成相应的输入字段:
@Html.EditorFor(x => x.Date)
现在,您可以使用相同的格式将日期选择器附加到生成的输入,并且在提交表单时,它将为日期字段保留相同的格式。
我实际上能够在报告文件中控制它。 在我的 .rdlc 文件中,我在框中创建了一个表达式,我将向以下内容显示我的日期:
DateValue(Parameters!BeginDate.Value)
这也消除了零出现在我的文本框中。
感谢大家的帮助