2.6 弹出式日历选择输入的Calendar控件
当应用程序要求用户输入日期时,往往要规定用户输入信息的格式(即用户的输入必须满足日期格式);否则,应用程序不能接受用户的输入内容。如果在后台代码文件中判断用户输入内容的格式,那么这是一个相对比较复杂的事情。因此,为了避免这种验证,应用程序可以提供一个日历控件让用户来选择所输入的日期。ASP.NET AJAX Control Toolkit中的Calendar控件能够实现弹出式日历选择输入的功能。声明Calendar控件的语法类似如下:
<ajaxToolkit:Calendar ID=cDate runat="server"
TargetControlID="Date1"
CssClass="ClassName"
Format="MMMM d, yyyy"
PopupButtonID="Image1" />
另外,Calendar控件包含4个常用的属性:TargetControlID、CssClass、PopupButtonID和Format。具体说明如表2.6所示。
表2.6 Calendar控件的常用属性及其说明
|
属 性 |
说 明 |
|
TargetControlID |
使用该控件的ASP.NET服务器端控件的ID值 |
|
CssClass |
样式类 |
|
Format |
日期的格式字符串 |
|
PopupButtonID |
弹出日历控件的ASP.NET服务器端控件的ID值 |
Format属性指定日期的格式,如“yyyy-MM-dd”、“yyyy/MM/dd”、“MM/dd/yyyy”等。其中,“yyyy”表示4位年份,“MM”表示2位月份,“dd”表示2位日期。
在下述代码实例中,Calendar.aspx页面为TextBox控件(ID属性的值为tbInput)演示了弹出式日历选择输入的功能。Calendar控件的ID属性的值为ceInput。当用户单击imgPopup控件(属于Image类型的控件)时,将弹出一个日历控件,用户可以在该日历控件中选择所需要输入的日期。
<!-- AjaxTextInput/Calendar.aspx页面 -->
<%@ Page Language="C#" StylesheetTheme="ASPNETAjaxWeb" %>
<head runat="server"><title>弹出式日历选择输入</title></head>
<asp:ScriptManager ID="sm" EnablePartialRendering="true"
runat="server"></asp:ScriptManager><br />
<asp:TextBox ID="tbInput" runat="server" SkinID="tbSkin"
Width="200px"></asp:TextBox>
<asp:Image ID="imgPopup" runat="server"
ImageUrl="~/App_Themes/ASPNETAjaxWeb/Images/view.PNG" />
<ajaxToolkit:CalendarExtender ID="ceInput" runat="server"
Format="yyyy-MM-dd" FirstDayOfWeek="Default"
TargetControlID="tbInput"
PopupButtonID="imgPopup"></ajaxToolkit:CalendarExtender>
上述代码实例执行之后,用户单击【
】(imgPopup控件)时,将弹出一个日历控件,如图2.10所示。

图2.10 Calendar控件演示弹出式日历选择输入的功能





