显示单月月历,该月历使用户可以选择日期并移到下个月或上个月。
命名空间:System.Web.UI.WebControls
程序集:System.Web(在 system.web.dll 中)

<ControlValuePropertyAttribute("SelectedDate", GetType(DateTime), "1/1/0001")> _ Public Class Calendar Inherits WebControl Implements IPostBackEventHandler
Dim instance As Calendar
[ControlValuePropertyAttribute("SelectedDate", typeof(DateTime), "1/1/0001")] public class Calendar : WebControl, IPostBackEventHandler
[ControlValuePropertyAttribute(L"SelectedDate", typeof(DateTime), L"1/1/0001")] public ref class Calendar : public WebControl, IPostBackEventHandler
/** @attribute ControlValuePropertyAttribute("SelectedDate", System.DateTime, "1/1/0001") */ public class Calendar extends WebControl implements IPostBackEventHandler
ControlValuePropertyAttribute("SelectedDate", System.DateTime, "1/1/0001") public class Calendar extends WebControl implements IPostBackEventHandler

使用 Calendar 控件在网页上显示日历的单个月。该控件使您可以选择日期并移到下个月或上个月。Calendar 控件支持 System.Globalization 命名空间中的所有 System.Globalization.Calendar 类型。除公历以外,这还包括使用不同年和月系统的日历,如 Hjiri 日历。
可以通过设置 SelectionMode 属性指定 Calendar 控件是否允许选择单日、周或整月。
默认情况下,该控件显示月中各天、周中各天的标头、带有月份名和年份的标题、用于选择月份中各天的链接及用于移动到下个月和上个月的链接。您可以通过设置控制控件中不同部分的样式的属性,来自定义 Calendar 控件的外观。下表列出了指定控件不同部分的样式的属性。
属性 | 说明 |
---|---|
为显示一周中各天的部分指定样式。 | |
为显示的月份中的日期指定样式。 | |
为标题部分中的导航控件指定样式。 | |
为不在当前显示的月份中的日期指定样式。 | |
为日历中的选定日期指定样式。 | |
为周和月份日期选择列指定样式。 | |
为标题部分指定样式。 | |
为今天日期指定样式。 | |
为周末日期指定样式。 |
也可以显示或隐藏控件的不同部分。下表列出控制显示或隐藏哪些部分的属性。
属性 | 说明 |
---|---|
显示或隐藏显示一周中各天的部分。 | |
显示或隐藏月中各天之间的网格线。 | |
显示或隐藏指向下个月或上个月的导航控件。 | |
显示或隐藏标题部分。 |
尽管 Calendar 控件不支持绑定到数据源,但是可以修改各个日期单元格的内容和格式设置。在网页上显示 Calendar 控件之前,它创建并汇编组成该控件的组件。当创建 Calendar 控件中的每个日期单元格时,均会引发 DayRender 事件。通过在 DayRender 事件的事件处理程序中提供代码,可以在创建日期单元格时控制其内容和格式设置。有关自定义日期单元格内容的更多信息,请参见 OnDayRender。
![]() |
---|
Calendar 控件将 ECMAScript(JScript、JavaScript)呈现给客户端浏览器。客户端浏览器必须启用 ECMAScript,此控件才能正常工作。有关客户端脚本的更多信息,请参见 ASP.NET 网页中的客户端脚本。 |
辅助功能
默认情况下为此控件呈现的标记可能不符合 Web 内容辅助功能准则 1.0 (WCAG) 中优先级为 1 的准则等辅助功能标准。有关此控件的辅助功能支持的详细信息,请参见 ASP.NET 控件和辅助功能。

下面的代码示例演示如何在网页上创建 Calendar 控件。
<%@ Page Language="VB" AutoEventWireup="True" %> <html> <head> </head> <body> <form 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="C#" AutoEventWireup="True" %> <html> <head> </head> <body> <form 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="JScript" AutoEventWireup="True" %> <html> <head> </head> <body> <form 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>

System.Web.UI.Control
System.Web.UI.WebControls.WebControl
System.Web.UI.WebControls.Calendar


Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。

.NET Framework
受以下版本支持:2.0、1.1、1.0