Calendar Web 服务器控件概述

更新:2007 年 11 月

可使用 Calendar Web 服务器控件显示日历中的可选日期,并显示与特定日期关联的数据。

本主题包括:

  • 方案

  • 功能

  • 背景

  • 代码示例

  • 类参考

方案

可以使用 Calendar Web 服务器控件执行下面的操作:

  • 显示和选择日期   该控件显示一个日历,用户通过此日历可移动到任意一年中的任意一天。设置 SelectedDate 属性,使某个特定的日期在控件中突出显示。用户还可通过单击一个日或在不同的月份之间移动以移动到任意日期。还可将日历配置为允许用户选择多个日期,包括整周或整月。

    显示十月份的 Calendar 控件的表示方法
    Visual Studio WebApplication 日历

  • 在日历网格中显示约会或其他信息   Calendar 控件可显示个别日的特定详细信息,如任务列表、事件时间表或类似的信息。此功能使您可以显示数据库中的日信息。

返回页首

功能

可以使用 Calendar 控件执行下面的操作:

  • 捕获用户交互(例如在用户选择一个日期或一个日期范围时)。

  • 自定义日历的外观。

  • 在日历中显示数据库中的信息。

返回页首

背景

Calendar 控件一次显示一个月份中的日期,同时共显示六周。该控件支持若干种日期类型,下表描述了这些日期类型。

日期类型

说明

TodaysDate

默认情况下,将它设置为与服务器上的当前日期匹配。但是,可调整它以显示不同区域设置的正确日期。

VisibleDate

此日期确定日历中显示哪个月份。在日历中,用户可在不同的月份之间移动,这将在不影响当前日期的情况下更改可视日期。通过以编程方式设置可视日期,可定位到不同的月份。

SelectedDate, SelectedDates

这是用户选择的日期或日期范围。在该控件中,用户可选择单个日、单个周或单个月份,但只能选择连续的日期。也可以以编程方式设置选定的日期。在这种情况下,可设置非连续的选定日期。

Calendar 控件基于 DateTime 对象,因此支持该对象所允许的全部日期范围。您可有效地显示公元 0 年到 9999 年之间的任意日期。

在 ASP.NET 页上,Calendar 控件以 HTML 表的形式呈现。因此,该控件的一些属性与表的各种格式设置有关。一些较早的浏览器不完全支持其中的几个属性。因此,并不是所有的格式设置功能在这些浏览器中都可用。

启用日期选定

默认情况下,日历允许用户单击个别日期以选定它。如果正在将控件用作只读日历,则可禁用日期选择功能。

如果启用了日期选择,则日历的每一天都包含一个 LinkButton 控件,当单击该控件时,会引发某个事件。如果启用了周选择或月份选择,则将一列链接添加到日历的一侧,以使用户能够指定要选择的周。

自定义日历的外观

可设置日历的属性以更改日历的颜色、尺寸、文本以及其他可视特性。有几种方法可实现此操作,如下表所示。

自定义方法

说明

设置属性

可设置属性以显示网格线,更改显示为一周的第一天的日,更改月份和日名称的外观。

设置扩展样式属性

可使用从 Style 对象派生的属性来设置日历中的特定元素的外观。这包括当前日期或包含月份和导航链接的标题栏。可使用级联式样式表的浏览器支持这些样式属性。而较早的浏览器只支持其中的一部分外观样式。

自定义个别日的呈现

当控件在呈现个别日时会引发一个事件,您可处理该事件以修改所呈现的流。这不仅对于更改日的外观有用,而且对于包含每个日的自定义内容也很有用。有关详细信息,请参见 如何:在 Calendar Web 服务器控件中自定义个别日

捕获用户与 Calendar Web 服务器控件之间的交互

当用户选择单个日期或日期范围时,Calendar 控件引发 SelectionChanged 事件。当用户显示一个新月份时,该控件引发 VisibleMonthChanged 事件。通过为这些事件创建方法,可确定用户选定了哪个日期或哪些日期并进行适当的响应。一种响应可能是自定义该日期的显示。

在 Calendar 控件中显示数据库信息

一个常用的方案是在日历中显示数据库信息。例如,一个事件日历通常基于在数据库中存储的信息。

Calendar 控件并不直接支持数据绑定,即您不是将日历作为一个整体绑定到数据源。相反,您为控件的 DayRender 事件创建一个方法,该事件在呈现当前日历月份中的每个日时引发。在该事件的处理程序中,您可从数据源中提取信息,并将这些信息添加到浏览器中呈现的流。有关详细信息,请参见如何:在 Calendar 控件中显示数据库中的选定日期

辅助功能

为使辅助设备的用户能更方便地访问 Calendar 控件,该控件支持名为 UseAccessibleHeader 的属性。当此属性设置为 true 时(默认设置),会使用 HTML th 元素呈现包含日名称的列标题。

返回页首

代码示例

返回页首

类参考

下表列出与 Calendar 控件相关的类。

成员

说明

Calendar

控件的主类。

CalendarDay

表示 Calendar 控件中的日期的类。

CalendarSelectionMode

一个表示 Calendar 控件中可用的日期选择模式的枚举。

返回页首

请参见

任务

如何:在 Calendar Web 服务器控件中以编程方式选择日期

如何:在 Calendar 控件中显示数据库中的选定日期

其他资源

使用 ASP.NET Web 服务器控件