asp.net

移动控件介绍及详细使用方法:Calendar控件

2013-11-22

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();
    }
}