Я хочу исключить часть time
в текстовое поле DateTime, но я не могу заставить ее работать так, как я хочу.Неправильный DateFormat с JQuery Datepicker
Это, как настроить поле:
@Html.TextBoxFor(m => m.DateFrom, "{0:dd/MM/yyyy}", new { @class = "datefrom" })
@Html.TextBoxFor(m => m.DateTo, "{0:dd/MM/yyyy}", new { @class = "dateto" })
Jquery скрипт:
$(function() {
$(".datefrom").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 1,
dateFormat: "dd/mm/yy",
onClose: function (selectedDate) {
$("#to").datepicker("option", "minDate", selectedDate);
}
});
$(".dateto").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 1,
dateFormat: "dd/mm/yy",
onClose: function (selectedDate) {
$("#from").datepicker("option", "maxDate", selectedDate);
}
});
});
Теперь у меня есть эти проблемы:
time
всегда появляются в поле:
- в
date format
неправильно: мой формат дд/мм/гггг, датаNovember 8th 2014
но теперь DatePicker «думает» этоAugust 10th 2014
. Поэтому, когда я выбираю произвольную дату из DatePicker по форматуdd/MM/yyyy
, asp.net будет treate его с форматомMM/dd/yyyy
То, что я пробовал:
Я пытался использовать
DataAnnotations
:[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
: не работалЯ попытался удалить скрипт Jquery, не работал
P/S: Althought даты и времени текстовое поле содержит time
часть при первой загрузке, после выбора даты из DatePicker, то time
часть ушла, но дата находится в неправильном формате, как я уже упоминалось выше:
Примечание '[DisplayFormat (ApplyFormatInEditMode = истина)]' является только в том случае, если вы используете '@EditorFor() 'поэтому его не нужно в вашем случае. Ваш код для' @ Html.TextBoxFor() 'отлично выглядит и работает для меня, поэтому что-то другое вызывает проблему. –
@StephenMuecke: теперь он отображается правильно, но когда я нажал кнопку отправки , значение, отправленное контроллеру, все еще находится в формате 'MM/dd/yyyy', headace! – NeedAnswers
Какова культура в сервисе э? Он также должен соответствовать этому формату для правильной привязки даты. И установка '@Value = ...' не нужна - если вам нужно это сделать, возникает и другая проблема. –