日历Calendar

Calendar Web 服务器控件实现一个传统的单月份日历,用户可使用该日历查看和选择
日期。具体地,可以选择某月、某周,或者某日,并可以对用户的选择做出响应,以完成
例如事件提醒、日程安排等功能。

 

1.创建Calendar 对象
有两种方式在页面上添加一个Calendar 对象:
(1)在页面的HTML 视图中,通过添加代码实现。例如,想要添加一个ID 为“Calendar1”
的控件,可以通过添加下面的代码实现:
<asp:Calendar id="Calendar1" runat="server"></asp:Calendar>
(2)在页面设计视图中,从工具箱“标准”选项卡中通过鼠标拖放或双击操作,添加
控件。Calendar 控件具有完整的显示,以及完善的功能,其样式如图4.32 所示。

 


图4.32 Calendar 控件样式


2.属性和事件
Calendar 对象的常用属性和事件如图4.33 所示。
属性
PrevMonthText
NextPrevStyle
NextPrevFormat
NextMonthText
FirstDayOfWeek
DayStyle
DayNameFormat
DayHeaderStyle
事件
System.Web.UI.WebControls.Calendar
VisibleMonthChanged
SelectionChanged
TodaysDate
ShowNextPrevMonth
ShowDayHeader
SelectWeekText
SelectMonthText
SelectionMode
SelectedDates
SelectedDate
图4.33 Calendar 常用成员
其功能如表4.11 所示。
表4.11 Calendar常用成员功能描述
成员 功能
DayHeaderStyle 显示一周中某天的的样式
DayNameFormat 一周中各天的名称格式
DayStyle 显示的月份中日期的样式属性
FirstDayOfWeek 要在Calendar控件的第一天列中显示的一周中的某天
NextMonthText 为下一月导航链接显示的文本
NextPrevFormat Calendar控件的标题部分中,下个月和上个月导航链接的格式
·456·
NextPrevStyle 下个月和上个月导航链接的样式属性
PrevMonthText 前一月导航链接显示的文本
SelectedDate 选定的日期
SelectedDates System.DateTime对象的集合,这些对象表示Calendar控件上的选定日期
SelectionMode 日期选择模式,指定用户可以选择单日、一周还是整月
SelectMonthText 为选择器列中月份选择元素显示的文本
SelectWeekText 为选择器列中周选择元素显示的文本
ShowDayHeader 指示是否显示一周中各天的标头
ShowNextPrevMonth 指示Calendar控件是否在标题部分显示下个月和上个月导航链接
TodaysDate 今天的日期的值
SelectionChanged 当用户通过单击日期选择器控件选择一天、一周或整月时发生
VisibleMonthChanged 当用户单击标题、标头的下个月或上个月导航控件时发生
3.示例
本示例要实现的功能如图4.34 所示,实际上是一个具有提醒功能的日历,当用户选择
某个日期时,系统会显示那一天的安排。
图4.34 Calendar 示例
(1)新建ASP.NET 网站Example_Calendar,在页面上添加1 个Calendar 对象,HTML
代码如下:
代码4-36 Calendar 控件定义:Default.aspx
<asp:calendar id="Calendar1"runat="server"
PrevMonthText="上月<<" NextMonthText="下月>>" ShowGridLines="True">
<DayHeaderStyle BackColor="MintCream"></DayHeaderStyle>
<SelectedDayStyle BackColor="Blue"></SelectedDayStyle>
</asp:calendar>
(2)双击日历控件,在其SelectionChanged 事件的触发方法中输入代码:
·457·
代码4-37 Calendar 控件选择改变事件:Default.aspx.cs
1. private void Calendar1_SelectionChanged(object sender, System.EventArgs e)
2. {
3. System.DateTime today=Calendar1.SelectedDate; //用户选择的日期
4. System.DayOfWeek weekday=today.DayOfWeek; //用户选择日期是周几
5.
6. Page.Response.Write("今天是"+today.ToLongDateString()+",今天您的安排是:");
7. //使用case 语句判定今天的安排
8. switch(weekday)
9. {
10. case System.DayOfWeek.Monday:
11. Page.Response.Write("<b><br>向客户提案。</b>");
12. break;
13~30. 。。。//此处略去其他case 语句
31. default:
32. break;
33. }
34. }
代码将在用户做出日期选择时触发,第3、4 行分别得到了用户选择的日期,以及选择
的日期是周几,然后在第7~33 行利用switch 语句,根据周几信息输出不同的日程安排。
需要注意的时,case 语句中使用了.NET 基础类库中预定义的DayOfWeek 枚举来判定是周
几。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值