2011-05-11 133 views
0

嘿, 这是一种很难解释,因为我甚至不知道它是如何发生的。 我有一个日期选择框,当页面加载时,日期框设置为空。一旦用户选择一个日期并点击提交按钮 - 该页面正在重新加载并工作,因为它应该很好,但出现时间格式为零,日期如下:日期时间值为空

5/11/2011 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; } 

这是基于关闭Darin的答案:

在视图模型:

[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)%> 
+3

你如何格式化日期? – BoltClock 2011-05-11 04:37:32

+0

检查一下;它是在WPF虽然http://stackoverflow.com/questions/3819832/changing-the-string-format-of-the-wpf-datepicker – 2011-05-11 04:51:42

+0

在我的viewModel这是我的日期如何显示: public DateTime? BeginDate {get; set;} public DateTime?结束日期{获得;设置;} 我的html标记是: Begin Date:<%:Html.EditorFor(b => b.BeginDate)%><%:Html.ValidationMessageFor(b => b.BeginDate)%> 结束日期: <%:Html.EditorFor(e => e.EndDate)%><%:Html.ValidationMessageFor(e => e.EndDate)%> – Masriyah 2011-05-11 12:53:49

回答

0

我实际上能够在我的报告文件中控制它。在我的.rdlc文件我创建在框中表达我会告诉我的日期如下:

DateValue(Parameters!BeginDate.Value) 

和出现在我的文本框,以及消除了零。

感谢大家的帮忙

1

您可以使用DisplayFormat属性上您的视图模型:

public class MyViewModel 
{ 
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] 
    public DateTime Date { get; set; } 
} 

,并在您的视图,你会使用EditorFor帮助生成相应的输入字段:

@Html.EditorFor(x => x.Date) 

现在,您可以使用相同的日期选择器附加日期选择器格式和表单提交时,它将保持日期字段相同的格式。

+0

我仍然可以保持我的日期时间值无效吗?像 DateTime?日期{get; set} – Masriyah 2011-05-11 12:45:39

+0

感谢您的答案,但由于某种原因,我仍然得到零后,我点击提交按钮:(我不知道什么原因可能是。我有这个日期,以便我可以为null,因为它在不同的地方作为参数,因为null可以以任何方式影响它?再次感谢 – Masriyah 2011-05-11 12:59:48

+0

@Amina,在更新您的问题并显示视图模型的外观后,我无法看到用'[DisplayFormat]'属性装饰的'BeginDate'和'EndDate'属性,就像我的答案中一样。 – 2011-05-11 13:35:37