★搜Asp.net★(www.soAsp.net),为专业技术文档网站。
包括Asp.net开发技术文档·C#开发技术文档·Access/SQL Server数据库开发技术文档·VB.NET开发技术文档。
还包括·项目实战经验总结·开发经验技巧总结·项目开发心得。


  
AJAX弹出式日历

实例说明

当应用程序要求用户输入日期时,需要输入规定的信息格式,否则,应用程序不能接受用户输入的日期内容,通常情况下程序开发人员使用验证控件进行格式验证,这样比较麻烦。如果能在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());
    }