Как установить значение текстового поля textmode = date ASP.NET С#
Пожалуйста, помогите мне, если сможете.
Я пытаюсь установить текстовое поле textmode = date из переменной.
Это так:
txtDataDespesa.Text = d.DataDespesa.ToShortDateString();
Проблема заключается в том, что когда я перехожу к визуализации страницы, значение d.DataDespesa.ToShortDateString()
не отображается в txtDataDespesa, а означает значения по умолчанию dd/mm/yyyy
Спасибо заранее.
Ответы
Ответ 1
Это не имеет никакого отношения к asp.net, но Html5. При использовании type="date"
вы всегда должны использовать формат yyyy-MM-dd
(стандарт W3C)
Проблема заключается в том, что в браузерах, которые не поддерживают type = date, это будет отображаться как 2014-03-30
, но в браузерах, которые его поддерживают, оно отображается в соответствии с региональными настройками в клиентской ОС.
Так что это может быть 2014-03-30
, 30.March.2014
или Mar-30-2014
, у вас нет контроля над форматом, пользователь имеет.
Ответ 2
afaik, новое текстовое поле в .Net с textmode=date
поддерживает только формат YYYY-MM-DD
.
txtDataDespesa.Text = d.DataDespesa.ToString("yyyy-MM-dd")
если вам нужна короткая строка даты, вам нужно использовать регулярное текстовое поле.
Ответ 3
dt_calculate_to_date.Text = DateTime.Today.ToString("yyyy-MM-dd");
будет работать и работать
if !ispostback