Calendar 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
显示一个月的日历,用户能够用它选择日期并移到下一个月或上个月。
public ref class Calendar : System::Web::UI::WebControls::WebControl, System::Web::UI::IPostBackEventHandlerpublic class Calendar : System.Web.UI.WebControls.WebControl, System.Web.UI.IPostBackEventHandler[System.Web.UI.ControlValueProperty("SelectedDate", typeof(System.DateTime), "1/1/0001")]
public class Calendar : System.Web.UI.WebControls.WebControl, System.Web.UI.IPostBackEventHandlertype Calendar = class
    inherit WebControl
    interface IPostBackEventHandler[<System.Web.UI.ControlValueProperty("SelectedDate", typeof(System.DateTime), "1/1/0001")>]
type Calendar = class
    inherit WebControl
    interface IPostBackEventHandlerPublic Class Calendar
Inherits WebControl
Implements IPostBackEventHandler- 继承
- 属性
- 实现
示例
下面的代码示例演示如何在网页上创建 Calendar 控件。
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ASP.NET Example</title>
</head>
<body>
   <form id="form1" runat="server">
      <asp:Calendar id="calendar1" runat="server">
           <OtherMonthDayStyle ForeColor="LightGray">
           </OtherMonthDayStyle>
           <TitleStyle BackColor="Blue"
                       ForeColor="White">
           </TitleStyle>
           <DayStyle BackColor="gray">
           </DayStyle>
           <SelectedDayStyle BackColor="LightGray"
                             Font-Bold="True">
           </SelectedDayStyle>
      </asp:Calendar>
            
   </form>
        
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ASP.NET Example</title>
</head>
<body>
   <form id="form1" runat="server">
      <asp:Calendar id="calendar1" runat="server">
           <OtherMonthDayStyle ForeColor="LightGray">
           </OtherMonthDayStyle>
           <TitleStyle BackColor="Blue"
                       ForeColor="White">
           </TitleStyle>
           <DayStyle BackColor="gray">
           </DayStyle>
           <SelectedDayStyle BackColor="LightGray"
                             Font-Bold="True">
           </SelectedDayStyle>
      </asp:Calendar>
            
   </form>
        
</body>
</html>
以下示例演示编辑由控件 Calendar 显示的 GridView 列之一时使用的控件。 控件 Calendar 使用 Bind 方法绑定到数据源。 方法 Eval 用于绑定控件显示的 Calendar 日期值。
<Columns>                  
  <asp:BoundField DataField="EmployeeID" HeaderText="Employee ID" ReadOnly="true"/>                    
  <asp:BoundField DataField="FirstName"  HeaderText="First Name"/>
  <asp:BoundField DataField="LastName"   HeaderText="Last Name"/>                    
  <asp:TemplateField HeaderText="Birth Date">
    <ItemTemplate> 
      <asp:Label ID="BirthDateLabel" Runat="Server" 
                 Text='<%# Eval("BirthDate", "{0:d}") %>' />
    </ItemTemplate>
    <EditItemTemplate>
      <asp:Calendar ID="EditBirthDateCalendar" Runat="Server"
                    VisibleDate='<%# Eval("BirthDate") %>'
                    SelectedDate='<%# Bind("BirthDate") %>' />
    </EditItemTemplate>
  </asp:TemplateField> 
  <asp:HyperLinkField Text="Show Detail"
                      DataNavigateUrlFormatString="~/ShowEmployeeDetail.aspx?EmployeeID={0}"
                      DataNavigateUrlFields="EmployeeID" />                   
</Columns>
<Columns>                  
  <asp:BoundField DataField="EmployeeID" HeaderText="Employee ID" ReadOnly="true"/>                    
  <asp:BoundField DataField="FirstName"  HeaderText="First Name"/>
  <asp:BoundField DataField="LastName"   HeaderText="Last Name"/>                    
  <asp:TemplateField HeaderText="Birth Date">
    <ItemTemplate> 
      <asp:Label ID="BirthDateLabel" Runat="Server" 
                 Text='<%# Eval("BirthDate", "{0:d}") %>' />
    </ItemTemplate>
    <EditItemTemplate>
      <asp:Calendar ID="EditBirthDateCalendar" Runat="Server"
                    VisibleDate='<%# Eval("BirthDate") %>'
                    SelectedDate='<%# Bind("BirthDate") %>' />
    </EditItemTemplate>
  </asp:TemplateField>   
  <asp:HyperLinkField Text="Show Detail"
                      DataNavigateUrlFormatString="~/ShowEmployeeDetail.aspx?EmployeeID={0}"
                      DataNavigateUrlFields="EmployeeID" />                   
</Columns>
注解
本主题内容:
介绍
Calendar使用 控件在网页上显示日历的单个月份。 控件允许你选择日期并移动到下一个月或上一个月。 控件 Calendar 支持 System.Globalization.Calendar 命名空间中的所有 System.Globalization 类型。 除了公历,这还包括使用不同年份和月份系统的日历,如 Hijri 日历。
可以通过设置 SelectionMode 属性指定Calendar控件是允许你选择一天、一周还是整个月。
默认情况下,控件显示月份中的日期、星期几的日期标题、带有月份名称和年份的标题、用于选择月份中各个日期的链接以及用于移动到下一个月和上一个月的链接。 可以通过设置控制控件不同部分样式的属性来自定义控件的外观 Calendar 。 下表列出了为控件的不同部分指定样式的属性。
| 属性 | 说明 | 
|---|---|
| DayHeaderStyle | 指定显示星期数的节的样式。 | 
| DayStyle | 指定显示月份中日期的样式。 | 
| NextPrevStyle | 指定标题部分中导航控件的样式。 | 
| OtherMonthDayStyle | 指定当前显示的月份中未显示的日期的样式。 | 
| SelectedDayStyle | 指定日历上所选日期的样式。 | 
| SelectorStyle | 指定周和月日期选择列的样式。 | 
| TitleStyle | 指定标题部分的样式。 | 
| TodayDayStyle | 指定当天日期的样式。 | 
| WeekendDayStyle | 指定周末日期的样式。 | 
还可以显示或隐藏控件的不同部分。 下表列出了控制显示或隐藏哪些部分的属性。
| 属性 | 说明 | 
|---|---|
| ShowDayHeader | 显示或隐藏显示星期数的部分。 | 
| ShowGridLines | 显示或隐藏月份日期之间的网格线。 | 
| ShowNextPrevMonth | 显示或隐藏下一个月或上一个月的导航控件。 | 
| ShowTitle | 显示或隐藏标题部分。 | 
尽管 控件不支持 Calendar 绑定到数据源,但你可以修改单个日期单元格的内容和格式。 在 Calendar 控件显示在网页上之前,它会创建并组合构成控件的组件。 创建 DayRender 控件中的每个日期单元格时, Calendar 将引发 事件。 可以通过在事件的事件处理程序 DayRender 中提供代码来控制创建日期单元格的内容和格式。 有关自定义日期单元格内容的详细信息,请参阅 OnDayRender。
注意
控件 Calendar 将 ECMAScript (JScript、JavaScript) 呈现到客户端浏览器。 客户端浏览器必须启用 ECMAScript,此控件才能正常工作。 有关客户端脚本的详细信息,请参阅 ASP.NET 网页中的客户端脚本。
可访问性
默认情况下为此控件呈现的标记可能不符合辅助功能标准。 有关此控件的辅助功能支持的详细信息,请参阅 ASP.NET 控件和辅助功能。
声明性语法
<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() | 初始化 Calendar 类的新实例。 | 
属性
| AccessKey | 获取或设置使您得以快速导航到 Web 服务器控件的访问键。(继承自 WebControl) | 
| Adapter | 获取控件的浏览器特定适配器。(继承自 Control) | 
| AppRelativeTemplateSourceDirectory | 获取或设置包含该控件的 Page 或 UserControl 对象的应用程序相对虚拟目录。(继承自 Control) | 
| Attributes | 获取与控件的特性不对应的任意特性(只用于呈现)的集合。(继承自 WebControl) | 
| BackColor | 获取或设置 Web 服务器控件的背景色。(继承自 WebControl) | 
| BindingContainer | 获取包含该控件的数据绑定的控件。(继承自 Control) | 
| BorderColor | 获取或设置 Web 控件的边框颜色。(继承自 WebControl) | 
| BorderStyle | 获取或设置 Web 服务器控件的边框样式。(继承自 WebControl) | 
| BorderWidth | 获取或设置 Web 服务器控件的边框宽度。(继承自 WebControl) | 
| Caption | 获取或设置呈现为日历标题的文本值。 | 
| CaptionAlign | 获取或设置呈现为日历标题的文本的对齐方式。 | 
| CellPadding | 获取或设置单元格的内容和单元格的边框之间的空间量。 | 
| CellSpacing | 获取或设置单元格间的空间量。 | 
| ChildControlsCreated | 获取一个值,该值指示是否已创建服务器控件的子控件。(继承自 Control) | 
| ClientID | 获取由 ASP.NET 生成的 HTML 标记的控件 ID。(继承自 Control) | 
| ClientIDMode | 获取或设置用于生成 ClientID 属性值的算法。(继承自 Control) | 
| ClientIDSeparator | 获取一个字符值,该值表示 ClientID 属性中使用的分隔符字符。(继承自 Control) | 
| Context | 为当前 Web 请求获取与服务器控件关联的 HttpContext 对象。(继承自 Control) | 
| Controls | 获取 ControlCollection 对象,该对象表示 UI 层次结构中的指定服务器控件的子控件。(继承自 Control) | 
| ControlStyle | 获取 Web 服务器控件的样式。 此属性主要由控件开发人员使用。(继承自 WebControl) | 
| ControlStyleCreated | 获取一个值,该值指示是否已为 Style 属性创建了 ControlStyle 对象。 此属性主要由控件开发人员使用。(继承自 WebControl) | 
| CssClass | 获取或设置由 Web 服务器控件在客户端呈现的级联样式表 (CSS) 类。(继承自 WebControl) | 
| DataItemContainer | 如果命名容器实现 IDataItemContainer,则获取对命名容器的引用。(继承自 Control) | 
| DataKeysContainer | 如果命名容器实现 IDataKeysControl,则获取对命名容器的引用。(继承自 Control) | 
| DayHeaderStyle | 获取显示一周中某天的部分的样式属性。 | 
| DayNameFormat | 获取或设置周中各天的名称格式。 | 
| DayStyle | 获取显示的月份中日期的样式属性。 | 
| DesignMode | 获取一个值,该值指示是否正在使用设计图面上的一个控件。(继承自 Control) | 
| Enabled | 获取或设置一个值,该值指示是否启用 Web 服务器控件。(继承自 WebControl) | 
| EnableTheming | 获取或设置一个值,该值指示主题是否应用于该控件。(继承自 WebControl) | 
| EnableViewState | 获取或设置一个值,该值指示服务器控件是否向发出请求的客户端保持自己的视图状态以及它所包含的任何子控件的视图状态。(继承自 Control) | 
| Events | 获取控件的事件处理程序委托列表。 此属性为只读。(继承自 Control) | 
| FirstDayOfWeek | 获取或设置要在 Calendar 控件的第一天列中显示的一周中的某天。 | 
| Font | 获取与 Web 服务器控件关联的字体属性。(继承自 WebControl) | 
| ForeColor | 获取或设置 Web 服务器控件的前景色(通常是文本颜色)。(继承自 WebControl) | 
| HasAttributes | 获取一个值,该值指示控件是否具有特性集。(继承自 WebControl) | 
| HasChildViewState | 获取一个值,该值指示当前服务器控件的子控件是否具有任何已保存的视图状态设置。(继承自 Control) | 
| Height | 获取或设置 Web 服务器控件的高度。(继承自 WebControl) | 
| ID | 获取或设置分配给服务器控件的编程标识符。(继承自 Control) | 
| IdSeparator | 获取用于分隔控件标识符的字符。(继承自 Control) | 
| IsChildControlStateCleared | 获取一个值,该值指示该控件中包含的控件是否具有控件状态。(继承自 Control) | 
| IsEnabled | 获取一个值,该值指示是否启用控件。(继承自 WebControl) | 
| IsTrackingViewState | 获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。(继承自 Control) | 
| IsViewStateEnabled | 获取一个值,该值指示是否为该控件启用了视图状态。(继承自 Control) | 
| LoadViewStateByID | 获取一个值,该值指示控件是否通过 ID 而不是索引参与加载其视图状态。(继承自 Control) | 
| NamingContainer | 获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 ID 属性值的服务器控件。(继承自 Control) | 
| NextMonthText | 获取或设置为下一月导航控件显示的文本。 | 
| NextPrevFormat | 获取或设置 Calendar 控件的标题部分中下个月和上个月导航元素的格式。 | 
| NextPrevStyle | 获取下个月和上个月导航元素的样式属性。 | 
| OtherMonthDayStyle | 获取不在显示的月份中的 Calendar 控件上的日期的样式属性。 | 
| Page | 获取对包含服务器控件的 Page 实例的引用。(继承自 Control) | 
| Parent | 获取对页 UI 层次结构中服务器控件的父控件的引用。(继承自 Control) | 
| PrevMonthText | 获取或设置为前一月导航控件显示的文本。 | 
| RenderingCompatibility | 获取一个值,该值指定呈现的 HTML 将与之兼容的 ASP.NET 版本。(继承自 Control) | 
| SelectedDate | 获取或设置选定的日期。 | 
| SelectedDates | |
| SelectedDayStyle | 获取选定日期的样式属性。 | 
| SelectionMode | 获取或设置 Calendar 控件上的日期选择模式,该模式指定用户可以选择单日、一周还是整月。 | 
| SelectMonthText | 获取或设置为选择器列中月份选择元素显示的文本。 | 
| SelectorStyle | 获取周和月选择器列的样式属性。 | 
| SelectWeekText | 获取或设置为选择器列中周选择元素显示的文本。 | 
| ShowDayHeader | 获取或设置一个值,该值指示是否显示一周中各天的标头。 | 
| ShowGridLines | 获取或设置一个值,该值指示是否用网格线分隔 Calendar 控件上的日期。 | 
| ShowNextPrevMonth | 获取或设置一个值,该值指示 Calendar 控件是否在标题部分显示下个月和上个月导航元素。 | 
| ShowTitle | 获取或设置一个值,该值指示是否显示标题部分。 | 
| Site | 获取容器信息,该容器在呈现于设计图面上时承载当前控件。(继承自 Control) | 
| SkinID | 获取或设置要应用于控件的外观。(继承自 WebControl) | 
| Style | 获取将在 Web 服务器控件的外部标记上呈现为样式特性的文本特性的集合。(继承自 WebControl) | 
| SupportsDisabledAttribute | 获取一个值,该值指示在控件的  | 
| SupportsDisabledAttribute | 获取一个值,该值指示在控件的  | 
| TabIndex | 获取或设置 Web 服务器控件的选项卡索引。(继承自 WebControl) | 
| TagKey | 获取对应于此 Web 服务器控件的 HtmlTextWriterTag 值。 此属性主要由控件开发人员使用。(继承自 WebControl) | 
| TagName | 获取控件标记的名称。 此属性主要由控件开发人员使用。(继承自 WebControl) | 
| TemplateControl | 获取或设置对包含该控件的模板的引用。(继承自 Control) | 
| TemplateSourceDirectory | 获取包含当前服务器控件的 Page 或 UserControl 的虚拟目录。(继承自 Control) | 
| TitleFormat | 获取或设置标题部分的格式。 | 
| TitleStyle | 获取 Calendar 控件的标题标头的样式属性。 | 
| TodayDayStyle | 获取 Calendar 控件上今天日期的样式属性。 | 
| TodaysDate | 获取或设置今天的日期的值。 | 
| ToolTip | 获取或设置当鼠标指针悬停在 Web 服务器控件上时显示的文本。(继承自 WebControl) | 
| UniqueID | 获取服务器控件的唯一的、以分层形式限定的标识符。(继承自 Control) | 
| UseAccessibleHeader | 获取或设置一个值,该值指示是否为日标头呈现表标头  | 
| ValidateRequestMode | 获取或设置指示控件是否检查来自浏览器的客户端输入是否具有潜在危险值的值。(继承自 Control) | 
| ViewState | 获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。(继承自 Control) | 
| ViewStateIgnoresCase | 获取一个值,该值指示 StateBag 对象是否不区分大小写。(继承自 Control) | 
| ViewStateMode | 获取或设置此控件的视图状态模式。(继承自 Control) | 
| Visible | 获取或设置一个值,该值指示服务器控件是否作为 UI 呈现在页上。(继承自 Control) | 
| VisibleDate | |
| WeekendDayStyle | 获取 Calendar 控件上周末日期的样式属性。 | 
| Width | 获取或设置 Web 服务器控件的宽度。(继承自 WebControl) | 
方法
事件
| DataBinding | 当服务器控件绑定到数据源时发生。(继承自 Control) | 
| DayRender | 当为 Calendar 控件在控件层次结构中创建每一天时发生。 | 
| Disposed | 当从内存释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生存期的最后阶段。(继承自 Control) | 
| Init | 当服务器控件初始化时发生;初始化是控件生存期的第一步。(继承自 Control) | 
| Load | 当服务器控件加载到 Page 对象中时发生。(继承自 Control) | 
| PreRender | 在加载 Control 对象之后、呈现之前发生。(继承自 Control) | 
| SelectionChanged | 当用户通过单击日期选择器控件选择一天、一周或整月时发生。 | 
| Unload | 当服务器控件从内存中卸载时发生。(继承自 Control) | 
| VisibleMonthChanged | 当用户单击标题标头上的下个月或上个月导航控件时发生。 | 
显式接口实现
扩展方法
| FindDataSourceControl(Control) | 返回与指定控件的数据控件关联的数据源。 | 
| FindFieldTemplate(Control, String) | 返回指定控件的命名容器中指定列的字段模板。 | 
| FindMetaTable(Control) | 返回包含数据控件的元表对象。 |