Calendar
Calendar控件是一个功能丰富的web控件,它提供下列功能:
● 显示一个日历,该日历会显示一个月份
● 允许用户选择日期、周、月
● 允许用户选择一定范围内的日期
● 允许用户移到下一月或上一月
● 以编程方式控件选定日期的显示
Calendar控件可以用各种属性和事件进行自定义。在详细介绍之前,先看一下显示Calendar控件的内容页面和结果页面。创建一个名为Calendar-Simple的网站,将Calen- dar控件拖动到页面上。
示例5-16包含了代码并高亮显示Calendar声明,图5-14显示了结果页面。该示例的代码隐藏文件是由VS2005创建的模板文件。
示例5-16:Calendar-Simple的Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Calendar - Simple</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>Calendar Control</h1>
<h2>Default Calendar</h2>
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
</div>
</form>
</body>
</html>

图5-14:默认的Calendar控件
太好了,零手动编码生成一个显示当前月份的日历。用户可以选择一天(这时什么也不发生,只是高亮显示选中的日期)以及通过单击月份名称两边的导航符号选择月份。
提示:如同在表5-14中看到的,导航符号由NextMonthText和PrevMonthText属性分别指定为> and <;,这两个HTML字符实体一般会显示为大于号(>)和小于号(<)。在Calendar控件中,这些符号会显示下画线。这是因为Calendar中所有可选择的符号在浏览器都会呈现为链接,所以会显示下画线。
表5-14 Calendar控件的属性
|
名 称 |
类 型 |
读 |
写 |
值 |
说 明 |
|
Caption |
String |
× |
× |
显示在日历上方的文本 |
|
|
CaptionAlign |
TableCaption-Align |
× |
× |
Bottom、Left、NotSet、Right、Top |
指定标题的垂直和水平对齐方式 |
|
CellPadding |
Integer |
× |
× |
0、1、2等 |
边框和单元格之间的以像素为单位的间距。应用到日历的所有单元格和单元格的每个边。默认为2 |
|
CellSpacing |
Integer |
× |
× |
0、1、2等 |
单元格间以像素为单位的间距,应用到日历中的所有单元格。默认值为0 |
|
DayNameFormat |
DayName- Format |
× |
× |
Full、Short、FirstLetter、FirstTwoLetters |
一周中每一天的格式。它的值不言自明,除了Short,它用前3个字母表示。默认为Short |
|
FirstDayOfWeek |
FirstDayOf-Week |
× |
× |
Default、Sunday、Monday...Saturday |
在第一列显示的一周的某一天,默认值由系统设置指定 |
|
NextMonthText |
String |
× |
× |
下一月份的导航按钮的文本。默认为>,它表现为一个大于号(>)。只有ShowNextPrevMonth属性设置true时显示 |
|
|
NextPrevFormat |
NextPrev- Format |
× |
× |
CustomText、FullMonth、ShortMonth |
使用CustomText,设置该属性并在NextMont- hText和PrevMonth- Text中指定使用的文本 |
续表5-14 Calendar控件的属性
|
名 称 |
类 型 |
读 |
写 |
值 |
说 明 |
|
PrevMonthText |
String |
× |
× |
上一月份的导航按钮的文本。默认为<,它表现为一个小于号(<)。只有ShowNextPrevMonth属性设置true时显示 |
|
|
SelectedDate |
DateTime |
× |
× |
一个选定的日期。只保留日期,时间为空 |
|
|
SelectedDate |
DateTime |
× |
× |
选择多个日期后的DateTime对象的集合。只保存日期,时间为空 |
|
|
SelectionMode |
Calendar- SelectionMode |
× |
× |
在本节的后面描述 |
|
|
SelectMonthText |
String |
× |
× |
选择器列中月份选择元素显示的文本。默认为>>,它表现为两个大于号(>>)。只在SelectionMode属性设置为DayWeekMonth时可见 |
|
|
ShowDayHeader |
Boolean |
× |
× |
true、false |
是否在日历标题中显示一周中每一天的名称。默认为true |
|
ShowGridLines |
Boolean |
× |
× |
true、false |
如果为true,显示单元格之间的网格线。默认为false |
|
ShowNextPrev-Month |
Boolean |
× |
× |
true、false |
指定是否显示上个月和下个月导航元素。默认为true |
|
ShowTitle |
Boolean |
× |
× |
true、false |
指定是否显示标题。如果为false,则上个月和下个月导航元素将隐藏。默认为true |
|
TitleFormat |
TitleFormat |
× |
× |
Month、MonthYear |
指定标题是显示为月份,还是同时显示月份和年份.默认为MonthYear |
|
TodaysDate |
DateTime |
× |
× |
今天的日期 |
|
|
UseAccessible- Header |
Boolean |
× |
× |
true、false |
指示是否使用可通过辅助技术访问的标题 |
|
VisibleDate |
DateTime |
× |
× |
显示月份的任意日期 |
除了所有的ASP.NET服务器控件都从WebControl继承的属性外,Calendar还包含许多自己的属性。它们中最重要的属性在表5-14列出。







