AjaxToolKitCalendarExtender Установить начальную дату просмотра

Вопрос:

Я использую AjaxToolKit Calendar Extender в своем приложении, чтобы пользователь мог выбрать дату своего рождения. Большинство пользователей, которые будут использовать систему, будут старше 60 лет, поэтому я хочу, чтобы это отображалось как представление по умолчанию, когда текстовое поле не содержит текста, я установил календарь для открытия в режиме года, но я не могу получить по умолчанию до даты 60 лет назад, не имея ничего в соответствующем текстовом поле.

то, что я пытаюсь достичь, является тем, что является картиной, но когда пользователь открывает расширитель календаря, когда текстовое поле не содержит значений.

enter image description here

Лучший ответ:

@ccStars Попробуйте комбинацию DefaultView, SelectedDate и PopupButtonID.

DefaultView: перенесет вас в год, который вы уже сделали. SelectedDate: задает дату, с которой инициализируется календарь, PopupButtonID: идентификатор элемента управления для отображения всплывающего окна при нажатии. Если это значение не установлено, календарь появится, когда текстовое поле получит фокус. Поэтому у вас есть маленький значок календаря рядом с вашим текстовым полем и укажите его идентификатор. Это решит вашу проблему с получением даты только тогда, когда она будет выбрана в календаре.

Выше свойства сервера. К вашим услугам клиентские свойства:

selectedDate и visibleDate: разница в том, что selectedDate является значением, представленным visibleDate, но visibleDate — это дата, видимая в настоящее время в календаре.

Дополнительная информация здесь: http://www.asp.net/ajaxlibrary/act_calendar_reference.ashx

Ответ №1

Вы можете попробовать использовать атрибут Calendar SelectedDate, например:

protected void Page_Load(object sender, EventArgs e)
{
calendarExtender.SelectedDate = DateTime.Today.AddYears(-60);
...
}

Ответ №2

Я знаю, что здесь нет четкого способа сделать это, но что, если мы попробуем провести фальсификацию и тестирование жюри?

Если вы установили SelectedDate с помощью ответа Cobra выше, я предполагаю, что он будет по умолчанию правильным диапазоном дат.

Теперь, если потом, на стороне клиента, вы сделали какой-то JavaScript, чтобы очистить TextBox, интересно, сохранит ли CalendarExtender старые диапазоны дат?

Используя jQuery, вот быстрый скрипт для этого. txtDateOfBirth что TextBox ID является txtDateOfBirth а для ClientIDMode установлено значение Static.

$('#txtDateOfBirth').val('');

Оцените статью
TechArks.Ru
Добавить комментарий