ASP.NET - 日历

日历控件是功能丰富的Web控件,它提供以下功能:

  • 一次显示一个月

  • 选择一天,一周或一个月

  • 选择一个天数

  • 每月移动一个月

  • 以编程方式控制日期的显示

日历控件的基本语法是:

<asp:Calender ID = "Calendar1" runat = "server">
</asp:Calender>

日历控件的属性和事件

日历控件有许多属性和事件,您可以使用它们自定义控件的动作和显示.下表提供了Calendar控件的一些重要属性:

属性描述
标题获取或设置日历控件的标题.
CaptionAlign获取或设置标题的对齐方式.
CellPadding获取或者设置数据和单元格边框之间的空格数.
CellSpacing获取或设置单元格之间的空格.
DayHeaderStyle获取显示星期几的部分的样式属性.
DayNameFormat获取或设置星期几的格式.
DayStyle获取disp中日期的样式属性放置月份.
FirstDayOfWeek获取或设置要显示的星期几在第一列.
NextMonthText获取或设置下一个文本月导航控制.默认值为>.
NextPrevFormat获取或设置格式下个月和上个月的导航控件.
OtherMonthDayStyle获取样式Calendar控件上不在显示的月份中的日期属性.
PrevMonthText获取或设置上个月导航控件的文本.默认值为<.
SelectedDate获取或设置所选date.
SelectedDates获取表示所选日期的DateTime对象的集合.
SelectedDayStyle获取所选日期的样式属性.
SelectionMode获取或设置选择模式,指定用户是否可以选择单日,一周或整月.
SelectMonthText获取或在选择器列中设置月份选择元素的文本.
SelectorStyle获取周和月选择器列的样式属性.
SelectWeekText获取或设置选择器列中为周选择元素显示的文本.
ShowDayHeader获取或设置一个值,该值指示是否显示星期几的标题.
ShowGridLines获取或设置指示是否显示网格线的值.
ShowNextPrevMonth获取或设置一个值,该值指示标题部分中是否显示了下个月和上个月的导航元素.
ShowTitle获取或设置一个值,指示是否显示标题部分.
TitleFormat获取或设置标题部分的格式.
Titlestyle获取Calendar控件的标题标题的样式属性.
TodayDayStyle获取Calendar控件上今天日期的样式属性.
TodaysDate获取或设置今天日期的值.
UseAccessibleHeader获取或设置一个值,该值指示是否呈现表头< th>日期标题的HTML元素而不是表格数据< td> HTML元素.
VisibleDate获取或设置指定月份的日期要显示.
WeekendDayStyle获取周末日期的样式属性Calendar控件.

Calendar控件具有以下三个最重要的事件,允许开发人员对日历控件进行编程.它们是:

活动描述
SelectionChanged当a时出现选择一天,一周或整个月.
DayRenderIt在呈现日历控件的每个数据单元格时引发.
VisibleMonthChanged当用户更改一个月时会引发此事.

使用Calendar Control

在没有任何代码隐藏文件的情况下放置一个裸骨日历控件可为站点提供可行的日历,该日历显示一年中的月份和日期.它还允许导航到下个月和前几个月.

Calendar

日历控件允许用户选择一天,一周或整个月.这是通过使用SelectionMode属性完成的.此属性具有以下值:

属性描述
DayTo选择一天.
DayWeek选择一天或一天整个星期.
DayWeekMonth选择一天,一周,或整整一个月.
None无法选择任何内容.

选择日期的语法:

<asp:Calender ID = "Calendar1" runat = "server" SelectionMode="DayWeekMonth">
</asp:Calender>

当选择模式设置为值DayWeekMonth时,带有>的额外列出现用于选择周的符号,并且>>选择月份的日期名称左侧会出现符号.

Calendar2

示例

以下示例演示如何选择日期并在标签中显示日期:

内容文件代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="calendardemo._Default" %>

<!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 runat="server">
      <title>
         Untitled Page
      </title>
   </head>
   
   <body>
      <form id="form1" runat="server">
      
         <div>
            <h3> Your Birthday:</h3>
            <asp:Calendar ID="Calendar1" runat="server  SelectionMode="DayWeekMonth" onselectionchanged="Calendar1_SelectionChanged">
            </asp:Calendar>
         </div>
         
         <p>Todays date is: 
            <asp:Label ID="lblday" runat="server"></asp:Label>
         </p>
         
         <p>Your Birday is: 
            <asp:Label ID="lblbday" runat="server"></asp:Label>
         </p>
         
      </form>
   </body>
</html>

事件SelectionChanged的事件处理程序:

protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
   lblday.Text = Calendar1.TodaysDate.ToShortDateString();
   lblbday.Text = Calendar1.SelectedDate.ToShortDateString();
}

当文件为r时un,它应该产生以下输出:

Calendar3