ASP.NET CalendarExtender только с просмотром года

Я использую расширитель календаря ASP.NET AJAX в моем представлении сетки asp.net. Можно ли настроить его для отображения только года, поскольку значения дня и месяца не нужны для моего случая.

<asp:CalendarExtender ID="CalExtStartYear" runat="server" Enabled="True" TargetControlID="txtStartYear"/>

person Wilz    schedule 08.03.2013    source источник


Ответы (2)


попробуйте установить для свойства Format значение:

yyyy

Я настоятельно рекомендую не использовать его, если вам нужно только значение года, так как это добавит дополнительную нагрузку (которая вам на самом деле не нужна).

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

person Usman Waheed    schedule 08.03.2013
comment
Формат работает только с возвращаемым значением, но в календаре будет отображаться выбор дня/месяца/года :( - person Wilz; 08.03.2013
comment
по-прежнему календарь будет отображать выбор месяца и дня после выбора года - person Wilz; 08.03.2013
comment
вот решение на основе jquery для месяца, вы можете изменить его, чтобы применять только год: adilmughal.com/2009/12/real-world-scenario-month-based.html - person Usman Waheed; 12.03.2013

Хорошо, я протестировал это решение, и оно отлично работает: добавьте событие в разметку OnClientShown="OnShown", чтобы разметка расширителя была:

<asp:CalendarExtender ID="CalExtStartYear" runat="server" Enabled="True" TargetControlID="txtStartYear" OnClientShown="OnShown"/>

теперь добавьте функцию java-скрипта:

<script type="text/javascript" >

    function OnShown(sender, args )
    {

        sender._switchMode("years", true);  
    }

</script>
person Usman Waheed    schedule 08.03.2013
comment
Усман, спасибо за ответ, но все равно Календарь будет отображать выбор месяца и дня после выбора года. - person Wilz; 08.03.2013