2011-05-11 2 views
0

Эй, Это довольно сложно объяснить, потому что я даже не знаю, как это происходит. У меня есть поле datepicker, которое при загрузке страницы в это поле даты имеет значение null. Как только пользователь выбирает дату и нажимает кнопку отправки - страница перезагружается и работает так, как она должна быть прекрасна, но формат времени нулей появляется с такой датой:Дата Значение Значение до нуля

05.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)%> 

Мой ViewModel:

public DateTime? BeginDate { get; set; } 

public DateTime? EndDate { get; set; } 

Это основано офф Ответ Дарин в:

в ViewModel :

[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

+0

проверить это; он находится в WPF, хотя http://stackoverflow.com/questions/3819832/changing-the-string-format-of-the-wpf-datepicker –

+0

в моем представленииModel: так отображаются мои даты: public DateTime? BeginDate {get; set;} public DateTime? EndDate {получить; set;} my html markup is: Дата начала: <%: Html.EditorFor (b => b.BeginDate)%><%: Html.ValidationMessageFor (b => b.BeginDate)%> Дата окончания: <%: Html.EditorFor (e => e.EndDate)%><%: Html.ValidationMessageFor (e => e.EndDate)%> – Masriyah

ответ

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 в нулевом режиме? например DateTime? Date {get; set} – Masriyah

+0

Спасибо за ответ, но по какой-то причине я все еще получаю нули, чтобы показать после нажатия кнопки отправки :(Я не уверен, в чем причина.У меня есть дата, чтобы я мог быть нулевым, и как он в качестве параметров в разных местах, поскольку значение NULL может повлиять на него каким-либо образом? Еще раз спасибо – Masriyah

+0

@Amina, после обновления вашего вопроса и отображения того, как выглядит модель представления. Я не вижу свойств 'BeginDate' и' EndDate', украшенных атрибутом '[DisplayFormat]', как в моем ответе. –

Смежные вопросы