Поделиться через


Декларативный синтаксис серверного веб-элемента управления Calendar

Обновлен: Ноябрь 2007

Отображает календарь на один месяц, в котором пользователь может выбирать даты и переходить к следующему или предыдущему месяцу.

<asp:Calendar
    AccessKey="string"
    BackColor="color name|#dddddd"
    BorderColor="color name|#dddddd"
    BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
        Inset|Outset"
    BorderWidth="size"
    Caption="string"
    CaptionAlign="NotSet|Top|Bottom|Left|Right"
    CellPadding="integer"
    CellSpacing="integer"
    CssClass="string"
    DayNameFormat="Full|Short|FirstLetter|FirstTwoLetters|Shortest"
    Enabled="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    FirstDayOfWeek="Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|
        Saturday|Default"
    Font-Bold="True|False"
    Font-Italic="True|False"
    Font-Names="string"
    Font-Overline="True|False"
    Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
                Large|X-Large|XX-Large"
        Font-Strikeout="True|False"
    Font-Underline="True|False"
    ForeColor="color name|#dddddd"
    Height="size"
    ID="string"
    NextMonthText="string"
    NextPrevFormat="CustomText|ShortMonth|FullMonth"
    OnDataBinding="DataBinding event handler"
    OnDayRender="DayRender event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnSelectionChanged="SelectionChanged event handler"
    OnUnload="Unload event handler"
    OnVisibleMonthChanged="VisibleMonthChanged event handler"
    PrevMonthText="string"
    runat="server"
    SelectedDate="string"
    SelectionMode="None|Day|DayWeek|DayWeekMonth"
    SelectMonthText="string"
    SelectWeekText="string"
    ShowDayHeader="True|False"
    ShowGridLines="True|False"
    ShowNextPrevMonth="True|False"
    ShowTitle="True|False"
    SkinID="string"
    Style="string"
    TabIndex="integer"
    TitleFormat="Month|MonthYear"
    ToolTip="string"
    UseAccessibleHeader="True|False"
    Visible="True|False"
    VisibleDate="string"
    Width="size"
>
        <DayHeaderStyle/>
        <DayStyle/>
        <NextPrevStyle/>
        <OtherMonthDayStyle/>
        <SelectedDayStyle/>
        <SelectorStyle/>
        <TitleStyle/>
        <TodayDayStyle/>
        <WeekendDayStyle/>
</asp:Calendar>

Заметки

Элемент управленияCalendar используется для отображения календаря на один месяц, в котором пользователь может выбирать даты и переходить к следующему или предыдущему месяцу.

С помощью свойства SelectionMode можно предоставить пользователю возможность выбирать отдельный день, неделю или месяц или полностью отключить выбор даты.

Установив свойства стилей для различных частей элемента управления, можно настроить внешний вид элемента управления Calendar В следующей таблице представлен перечень свойств стиля для элемента управления Calendar.

Объект стиля

Описание

Класс стиля

DayHeaderStyle

Стиль раздела календаря, в котором отображаются названия дней недели.

TableItemStyle

DayStyle

Стиль отображения отдельных дней отображаемого месяца.

dxf9k8sh.alert_note(ru-ru,VS.90).gifПримечание.
Для выходных дней, текущей даты и выбранного дня можно использовать различные стили, установив свойства WeekendDayStyle, TodayDayStyle и SelectedDayStyle

TableItemStyle

NextPrevStyle

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

TableItemStyle

OtherMonthDayStyle

Стиль дат предыдущего или следующего месяцев, отображаемых в представлении текущего месяца.

TableItemStyle

SelectedDayStyle

Стиль выбранной даты.

dxf9k8sh.alert_note(ru-ru,VS.90).gifПримечание.
Если данное свойство не установлено, для отображения выбранной даты используется стиль, заданный свойством DayStyle.

TableItemStyle

SelectorStyle

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

TableItemStyle

TitleStyle

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

dxf9k8sh.alert_note(ru-ru,VS.90).gifПримечание.
Если свойство NextPrevStyle установлено, оно переопределяет стиль элементов управления для перехода к следующему и предыдущему месяцу, расположенных по краям строки заголовка.

TableItemStyle

TodayDayStyle

Стиль текущей даты.

dxf9k8sh.alert_note(ru-ru,VS.90).gifПримечание.
Если данное свойство не установлено, для отображения текущей даты используется стиль, заданный свойством DayStyle.

TableItemStyle

WeekendDayStyle

Стиль выходных дней.

dxf9k8sh.alert_note(ru-ru,VS.90).gifПримечание.
Если данное свойство не установлено, для отображения выходных дней используется стиль, заданный свойством DayStyle.

TableItemStyle

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

Свойство

Описание

ShowDayHeader

Скрывает или отображает раздел, в котором отображены дни недели.

ShowGridLines

Скрывает или отображает линии сетки между днями месяца.

ShowNextPrevMonth

Скрывает или отображает элементы управления для перехода к следующему или предыдущему месяцу.

ShowTitle

Скрывает или отображает раздел заголовка.

Хотя привязка к источнику данных не поддерживается для элемента управления Calendar, можно изменить содержимое и форматирование ячеек отдельных дат. Перед тем как элемент управления Calendar отображается на веб-странице, он создает и собирает составляющие его компоненты. Событие DayRender возникает при создании каждой ячейки даты в элементе управления Calendar. Можно управлять содержимым и форматированием ячеек даты по мере их создания, предоставляя обработчику событий код для события DayRender.

Примечание.   В элементе управления Calendar выполняются сценарии JavaScript для клиентского обозревателя. Для корректной работы данного элемента управления необходимо, чтобы клиентский обозреватель разрешал выполнение JavaScript. Дополнительные сведения о клиентском сценарии см. в разделе Клиентский сценарий на веб-страницах ASP.NET.

Сведения о свойствах, поддерживаемых для конкретных классов стилей, см. в разделе Свойства объектов стилей.

Подробные сведения о свойствах и событиях элемента управления Calendar см. в документации класса Calendar.

Пример

В следующем примере показан пример объявления элемента управления Calendar в ASPX-файле. Объявление содержит ряд свойств объектов стилей и устанавливает метод Date_Selected в качестве обработчика события SelectionChanged.

<asp:Calendar id="Calendar2"
     OnSelectionChanged="Date_Selected"
     SelectionMode="DayWeekMonth"
     Font-Name="Verdana" 
     Font-Size="12px"
     NextPrevFormat="ShortMonth"
     SelectWeekText="week"
     SelectMonthText="month"
     runat="server">

   <TodayDayStyle Font-Bold="True"/>
   <DayHeaderStyle Font-Bold="True"/>
   <OtherMonthDayStyle ForeColor="gray"/>
   <TitleStyle BackColor="#3366ff"
               ForeColor="white"
               Font-Bold="True"/>

   <SelectedDayStyle BackColor="#ffcc66"
                     Font-Bold="True"/>
   <NextPrevStyle ForeColor="white"
                  Font-Size="10px"/>
   <SelectorStyle BackColor="#99ccff" 
                  ForeColor="navy"
                  Font-Size="9px"/>
</asp:Calendar>

В следующем примере показан метод обработки события SelectionChanged элемента управления Calendar. Запрос параметра SelectedDates элемента управления Calendar дает возможность определить количество выбранных дней и, следовательно, определить, какой временной промежуток был выбран: день, неделя или месяц. Сведения о выборе отображаются в серверном веб-элементе управления Label.

Sub Date_Selected(sender as Object sender, e As EventArgs)
   Select (Calendar1.SelectedDates.Count)
      Case 0:    'None
         Label1.Text = "No dates are currently selected"
      Case 1:    'Day
         Label1.Text = "The selected date is " & _ 
                       Calendar1.SelectedDate.ToShortDateString
      Case 7:    'Week
         Label1.Text = "The selection is a week beginning " & _
                       Calendar1.SelectedDate.ToShortDateString
      Case Else: 'Month
         Label1.Text = "The selection is a month beginning " & _
                       Calendar1.SelectedDate.ToShortDateString
   End Select
End Sub
protected void Date_Selected(object sender, EventArgs e)
{
   switch (Calendar1.SelectedDates.Count)
   {
      case (0):   //None
      {
         Label1.Text = "No dates are currently selected";
         break;
      }
      case (1):   //Day
      {
         Label1.Text = "The selected date is " + 
                       Calendar1.SelectedDate.ToShortDateString();
         break;
      }
      case (7):   //Week
      {
         Label1.Text = "The selection is a week beginning " + 
                       Calendar1.SelectedDate.ToShortDateString();
         break;
      }
      default:    //Month
         Label1.Text = "The selection is a month beginning " + 
                       Calendar1.SelectedDate.ToShortDateString();
         break;
   }
}

См. также

Основные понятия

Общие сведения о серверном веб-элементе управления Calendar

Серверные элементы управления ASP.NET

Ссылки

Calendar

Другие ресурсы

Синтаксис серверного веб-элемента управления