Как установить значение текстового поля 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