Calendar控件
Calendar(日历)控件通常是用来实现日期的选择功能,你可以从工具箱拖拽一个Calendar控件到移动WEB Form控件上。Calendar控件在默认状态下通常显示当前月,如果要改变默认的显示日期的话,你可以设置Calendar控件的VisibleDate属性。还有一个重要的属性就是SelectedDate,它可以在Calendar控件上选定一个指定的日期。
SelectionMode属性用来获取或设置Calendar控件的日期选择模式。默认的设置为Day,这样用户就可以在 Calendar 控件上选择单个日期。你还可以设置该属性的日期选择模式为DayWeek或DayWeekMonth。DayWeek设置允许用户在Calendar控件上选择选择单日或整周,DayWeekMont设置允许用户在Calendar控件上选择单个日期、周或整月。你可以在设计阶段更改这些设置,也可以在运行时通过代码更改这些设置。当用户改变了当前选中的日期时,将会激发一个Calendar控件中的SelectionChanged事件。下表是Calendar控件的一些常见
属性:
属性说明
FirstDayOfWeek 在日历的第一列中显示一周中的某一天
SelectionMode 该属性允许用户将日历控件的选择模式设置为单个日期、周或整 月。该属性的枚举值为:None、Day、DayWeek和 DayWeekMonth. SelectedDate 该属性用来获取或设置当前选定的日期。我们可以在设计阶段设置该属性值,也可以在运行时改变该值。
VisibleDate 指定要显示月份的日期,移动设备默认状态下将会直接在当前的屏幕中显示该日期。所以该属性和SelectedDate是截然不同的。
现在我们来用Calendar 控件实现一个简单功能。当用户在Calendar控件中选取了一个日期后,该日期将会在一个文本框中进行显示。
清单3:
CalendarDefault.aspx
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="CalendarDefault.aspx.cs" Inherits="CalendarDefault"
EnableViewState="true"%>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<mobile:Form id="Form1" runat="server">
事件日期
<br />
<mobile:TextBox id="txtEventDate" runat="server"></mobile:TextBox>
<mobile:Calendar id="EventCalendar" FirstDayOfWeek="Sunday"
Runat="server"
OnSelectionChanged="EventCalendar_SelectionChanged">
</mobile:Calendar>
</mobile:Form>
</body>
</html>
清单4:
CalendarDefault.aspx.cs
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.Mobile;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.MobileControls;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
public partial class CalendarDefault :
System.Web.UI.MobileControls.MobilePage
{
//
当日历中的选择日期发生改变时激发
SelectionChanged
事件
//
并且将现在所选择的日期显示在文本框中
protected
void
EventCalendar_SelectionChanged(object
sender,
EventArgs
e)
{
txtEventDate.Text =
EventCalendar.SelectedDate.ToShortDateString();
}
}