Muestra un calendario de un solo mes que permite al usuario seleccionar fechas y desplazarse al mes siguiente o al mes anterior.
Espacio de nombres: System.Web.UI.WebControls
Ensamblado: System.Web (en system.web.dll)
Visual Basic (Declaración)
<ControlValuePropertyAttribute("SelectedDate", GetType(DateTime), "1/1/0001")> _
Public Class Calendar
Inherits WebControl
Implements IPostBackEventHandler
[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
Utilice el control Calendar para mostrar un solo mes de un calendario en una página Web. El control permite seleccionar fechas y desplazarse al mes siguiente o al mes anterior. El control Calendar admite todos los tipos System.Globalization.Calendar del espacio de nombres System.Globalization. Además del calendario gregoriano, también se incluyen calendarios que utilizan diferentes sistemas de año y mes, como el calendario Hjiri.
Se puede especificar si el control Calendar permite seleccionar un solo día, una semana o un mes completo mediante la propiedad SelectionMode.
De manera predeterminada, el control muestra los días del mes, los encabezados de los días de la semana, un encabezado con el nombre del mes y año, vínculos para seleccionar días del mes de forma individual y vínculos para desplazarse al mes siguiente y al mes anterior. Se puede personalizar la apariencia del control Calendar estableciendo las propiedades que controlan el estilo de las diferentes partes del control. La siguiente tabla contiene las propiedades que especifican el estilo de las diferentes partes del control.
| Propiedad | Descripción |
| DayHeaderStyle | Especifica el estilo de la sección que muestra los días de la semana. |
| DayStyle | Especifica el estilo de las fechas del mes que se muestra. |
| NextPrevStyle | Especifica el estilo de los controles de exploración de la sección de título. |
| OtherMonthDayStyle | Especifica el estilo de las fechas no pertenecientes al mes que se muestra. |
| SelectedDayStyle | Especifica el estilo de las fechas seleccionadas en el calendario. |
| SelectorStyle | Especifica el estilo de la columna de selección de fechas semanales y mensuales. |
| TitleStyle | Especifica el estilo de la sección de título. |
| TodayDayStyle | Especifica el estilo de la fecha actual. |
| WeekendDayStyle | Especifica el estilo de las fechas de fin de semana. |
También se pueden mostrar u ocultar diferentes partes del control. La siguiente tabla contiene las propiedades que controlan qué partes se muestran o se ocultan.
| Propiedad | Descripción |
| ShowDayHeader | Muestra u oculta la sección que muestra los días de la semana. |
| ShowGridLines | Muestra u oculta las líneas de cuadrícula entre los días del mes. |
| ShowNextPrevMonth | Muestra u oculta los controles de exploración para desplazarse al mes siguiente o al mes anterior. |
| ShowTitle | Muestra u oculta la sección de título. |
Si bien el enlace a un origen de datos no es compatible con el control Calendar, se puede modificar el contenido y el formato de las celdas de fecha individuales. Antes de mostrar el control Calendar en la página Web, crea y ensambla los componentes que forman el control. El evento DayRender se provoca cuando se crea cada celda de fecha en el control Calendar. Se puede controlar el contenido y el formato de una celda de fecha en el momento de crearla proporcionando código en el controlador de eventos para el evento DayRender. Para obtener más información acerca de cómo personalizar el contenido de una celda de fecha, vea OnDayRender.
Nota: |
|---|
| El control Calendar representa el código ECMAScript (JScript, JavaScript) en el explorador cliente. El explorador cliente debe tener ECMAScript habilitado para que este control funcione correctamente. Para obtener más información sobre secuencias de comandos de cliente, vea Secuencias de comandos del cliente en páginas Web ASP.NET. |
Accesibilidad
Es posible que el marcado que se representa de manera predeterminada para este control no respete los estándares de accesibilidad enunciados en las directrices prioritarias de WCAG (Instrucciones de accesibilidad a contenido Web 1.0). Para obtener detalles sobre accesibilidad compatible con este control, vea Controles y accesibilidad en ASP.NET.
En el ejemplo de código siguiente se muestra cómo crear un control Calendar en una página Web.
<%@ 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 >
<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="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<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="JScript" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<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>
En el ejemplo siguiente se muestra un control Calendar que se utiliza al editar una de las columnas mostradas por un control GridView. El control Calendar se enlaza al origen de datos con el método Bind. El método Eval se utiliza para enlazar el valor de fecha que muestra el control 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>
Seguridad de .NET Framework
System.Object
System.Web.UI.Control
System.Web.UI.WebControls.WebControl
System.Web.UI.WebControls.Calendar
Seguridad para subprocesos
Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter
Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.
.NET Framework
Compatible con: 3.0, 2.0, 1.1, 1.0