Привязать расширение календаря ajax только к определенному месяцу и году - PullRequest
2 голосов
/ 28 сентября 2011

У меня есть два календаря, которые я хочу ограничить.Когда пользователь выбирает любой год из выпадающего списка год и месяц из выпадающего списка месяц, расширитель календаря должен показывать даты только для выбранного месяца и года, и использование не позволяет выбирать любой другой месяц и год из расширителя календаря.Например,Если я выберу год = 2011 и месяц = ​​сентябрь из раскрывающихся списков года и месяца соответственно, тогда оба расширителя календаря должны показывать дату для сентября-2011 + 1 октября, и мне будет разрешено выбирать дату только из этих дат и выбирать любыедругая дата не допускается. Я не хочу использовать Jquery.

1 Ответ

2 голосов
/ 28 сентября 2011

Полагаю, вы можете использовать следующий подход (быстрый и довольно грязный): добавьте скрипт и стиль ниже на страницу:

<style type="text/css" >
     div.ajax__calendar_prev,
     div.ajax__calendar_next,
     div.ajax__calendar_today
     {
          display: none !important;
     }
</style>
<script type="text/javascript">
     function pageLoad() {
          var extender = $find("calendarExtenderBehaviorID");
          extender._switchMode = function () { };
     }
</script>

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

Также вам понадобится RangeValidator, прикрепленный к целевому текстовому полю для проверки выбранного значения даты. В выбранном выпадающем списке обработчик событий изменения индекса необходимо установить дату выбранного календаря и установить минимальное и максимальное значения валидатора диапазона в соответствии с выбранным годом и месяцем.

В качестве альтернативы вы можете использовать CustomValidator и выполнять все проверки и назначения в JavaScript.

...