实例说明 当应用程序要求用户输入日期时,需要输入规定的信息格式,否则,应用程序不能接受用户输入的日期内容,通常情况下程序开发人员使用验证控件进行格式验证,这样比较麻烦。如果能在Calendar日期控件中选择输入日期,那么将是最好的方法。本实例当用户将鼠标的光标放在TextBox控件中,将出现弹出式日历,如图所示。 图 弹出式日历 技术要点 ASP.NET AJAX Control ToolKit中的CalenderExtender控件能够实现弹出式日历,本实例是通过ASP.NET AJAX Control ToolKit中的PopupControl控件与Calender日期控件组合实现。 PopupControl控件包含多个常用属性及说明如表所示。 表 PopupControl控件常用属性及说明 属性 | 说明 | TargetControlID | 使用该控件的ASP.NET服务器端的ID值 | PopupControlID | 弹出控件的ID属性值 | Position | 弹出控件和目标控件的相对位置,其值可以是Left、Right、Top、Bootom、Center。 | OffsetX | Y偏移量 | OffsetY | X偏移量 | CommitScript | 设置弹出控制的结果时执行的脚本代码 | CommitProperty | 目标控件的属性,弹出控件的值将设置为该属性的值。 | Animations | 弹出控件时的动画 | OnShow | 显示控件的动画 | OnHide | 隐藏控件的动画 |
实现过程 (1)新建一个AJAX网站,将其命名为10,默认主页为Default.aspx。 (2)在Default.aspx中存在一个ScriptManager控件,然后再添加一个PopupControlExtender控件和一个UpdatePanel控件,其中ScriptManager控件用于管理页面中的AJAX控件,PopupControlExtender控件用于控制弹出的Calender日期控件,UpdatePanel控件用于实现局部更新。 (3)在UpdatePanel控件中添加Calender日期控件,Calender日期控件弹出后提供用户选择日期。在 (4)在Default.aspx中添加一个TextBox控件,用于输入日期。 (4)设置PopupControlExtender控件的属性,代码如下: <cc1:PopupControlExtender ID="PopupControlExtender1" runat="server" TargetControlID="TextBox1" PopupControlID="UpdatePanel1" OffsetX="0" OffsetY="0" Position="Bottom"> </cc1:PopupControlExtender> |
(5)在Calender日期控件上选择日期后,需要将日期添加到TextBox控件中,实现代码如下: protected void Calendar1_SelectionChanged(object sender, EventArgs e) { PopupControlExtender1.Commit(Calendar1.SelectedDate.ToLongDateString()); } |
|