logo
[ПСП] / lab22

Элемент управления Calendar

Для элемента управления Calendar не существует прямого эквивалента в HTML. Однако необходимость в помещении на web-страницу календаря возникает очень часто. Поэтому в ASP.NETбыл предусмотрен специальный элемент управления, который преобразуется средой выполнения ASP.NETв набор тегов HTML, пред­ставляющий календарь. Например, предположим, что мы разместили на своей web-странице этот элемент управления при помощи следующего кода:

<asp:Calendar id=Calendarl runat="server"></asp:Calendar></p>

Вы удивитесь, увидев, какое количество кода HTML сгенерировала среда вы­полнения ASP.NET,встретив на странице такую строку! Кода так много, что мы даже не будем его здесь приводить. Лучше посмотрите его сами: поместите объект Calendar из Toolbox на графический шаблон времени разработки, сохраните файл *. aspx и обратитесь к нему из web-браузера. После этого щелкните на открывшей­ся в окне браузера странице правой кнопкой мыши и в контекстном меню выбери­те команду View Code. Откроется окно Notepad, в котором вы сможете найти код для элемента управления Calendar (рис. 14.43).

Рис. 14.43. Для элемента управления Calendar генерируется весьма объемный код HTML

В элементе управления Calendar предусмотрена масса возможностей для на­стройки. Одно из свойств, которое может представлять интерес, — это свойство SelectionMode. По умолчанию в календаре можно выбирать только один день (что соответствует значению по умолчанию SelectionMode = Day). Однако мы можем воспользоваться и другими допустимыми значениями этого свойства:

Например, если мы установим значение DayWeekMonth, в возвращаемом коде HTML будет предусмотрен дополнительный столбец слева (для выбора недели целиком) и флажок в верхнем левом углу (для выбора всего месяца). Вот код, ис­пользующий все возможные свойства этого элемента управления (не пугайтесь, все можно установить через окно свойств в Visual Studio.NET):

<asp:Ca!endar id=Calendarl runat="server" SelectionMode="DayWeekMonth"

DayNameFormat="FirstLetter" BackColor="White"

Se1ectionStyle-ForeColor="#336666"

Se1ectorStyle-BackColor="#CCFF99"

TodayDayStyle-BackColor="#99CCCC" DayHeaderStyle-Height="lpx"

DayHeaderSty1e-ForeColor="#336666"

DayHeaderStyle-BackColor="#99CCCC

Font-Size="8pt" Font-Names="Verdana" Height="200"

0therMonthDayStyle-ForeColor="#999999"

Tit1eStyle-Font-Sty1e="llpt"

TitleSty1e-Font-Bold="True" TitleStyle-ForeColor="#CCFF99"

TitleStyle-BackColor="#003399" ForeCo1or="#003399" BorderColor="#3366CC" Width="221"

SelectedOaySty1e-ForeColor="#CCFF99"

SelectedDayStyle-BackColor="#009999"

TodayDayStyle-ForeColor="White" BorderWidth="lpx"

TitleStyle-BorderStyle="Solid" JitleStyle-BorderWidth="lpx"

TitleStyle-BorderColor="#3366CC" WeekendDayStyle-BackColor="#CCCCFF"

SelectedDayStyle-Font-Bold="True" CellPadding="l">

</asp:Calendar>

To, как теперь должен выглядеть наш календарь в окне Internet Explorer, пока­зано на рис. 14.44.

Рис. 14.44. Элемент управления Calendar в окне браузера клиента