现在的位置: 首页 > 综合 > 正文

AjaxToolKit–日历控件Calendar的介绍

2013年10月07日 ⁄ 综合 ⁄ 共 2807字 ⁄ 字号 评论关闭

1.       Introduction:

Calendar控件是ASP.NET AJAX的一个用来和TextBox协作的一个控件。它提供了一个客户端的弹出窗口让客户选择一个时间,且时间显示格式是可以自定义的。通过选定一天然后点击它填写一个TextBox,或者是点击弹出窗口下边的当天时间来填写一个TextBox

  和其它日历控件一样可以先选择一个年,再选择一个月,或者是在一个月份上点击进入选择年份的菜单。如下图所示:

 

控件会根据浏览器的语言来选择时间格式的显示。如果是中文浏览器,显示的时间就是中文格式,也可以设置为英文格式。

 需要适应多语言的一个条件是,在页面上的ScriptManager设置两个属性:EnableScriptGlobalization=”true”EnableScriptLocalization=”true”

2.       Properties:

默认的Calendar所有的属性如下,其中斜体属性为可选项。

<ajaxToolkit:Calendar runat="server"

    TargetControlID="Date1"

    CssClass="ClassName"

Format="MMMM d, yyyy"

PopupButtonID="Image1" />

a.       TargetControlID: 用来和Calendar交互的TextBoxID

b.       CssClass: Calendar使用的Css样式。在下面的calendar Theming部分再详细说明。

c.       Format: 时间的现实形式, 比如yyyy-MM-dd , MMMM-yyyyy-dd等等。可以直接在设计界面的format属性设置日期格式。

d.       PopupButtonID: 当点击ID为这个ID的控件时弹出来calendar的对话框。

e.       PopupPostion: 显示日历的方位,可以是TextBox的左下角,右下角,左上角,右上角。

f.        SelectedDate: 指定日历的初始化日期。

 

为了这些基本的属性设置外, Calender还提供了一个Css样式的设置,因为默认的Css样式是可以被覆盖的,所有的Css 类如下图所示(英文显示的):

 

如果你英语不好,你没有必要去看每个class的意思,完全可以凭借每个Css类名字的最后那个英文单词看出来它是控制那一部分的。比如ajax_calendar_footer是用来控制日历控件的弹出框最下面那一部分的style的。后面会给出个使用自定义Css样式的例子。

3.       Example:

这里会提供两个例子,一个是MS提供的,一个是使用自定义的Css样式来显示Calendar.

还有两个是我给大家提供的分别调用google API和从数据库查找匹配数据的方法。

我使用的是VS2005, 而且已经安装好了ajaxtoolkit,

第一步: 创建一个ajaxtoolkit模板:

 

起个项目名字叫做AjaxControlToolKit_Calendar

第二步: default.aspx页面拖入TextBox,,并设置IDDate1,再拖入页面一个CalendarExtender,属性设置如下:

 

MS提供的另外个是带有图片按钮的calendar弹出框实现:

 

和上面例子的差别就是这个需要设置PopupButtonID为这个imagebuttonID.

然后给大家个例子是使用自定义的Css样式。

首先需要创建一个Calendar.Css文件,注意要和你使用这个Css文件的aspx文件在同一个目录下。

然后把下面的Css代码考入这个Css文件。

.cal_Theme1 .ajax__calendar_container

 

{

 

background-color: #e2e2e2; border:solid 1px #cccccc;

}

.cal_Theme1 .ajax__calendar_header

 

{

 

background-color: #ffffff; margin-bottom: 4px;

}

.cal_Theme1 .ajax__calendar_title,

 

.cal_Theme1 .ajax__calendar_next,

 

.cal_Theme1 .ajax__calendar_prev

 

{

color: #004080; padding-top: 3px;

}

.cal_Theme1 .ajax__calendar_body

 

{

 

background-color: #e9e9e9; border: solid 1px #cccccc;

}

.cal_Theme1 .ajax__calendar_dayname

 

{

 

text-align:center; font-weight:bold; margin-bottom: 4px; margin-top: 2px;

}

.cal_Theme1 .ajax__calendar_day

 

{

text-align:center;

}

.cal_Theme1 .ajax__calendar_hover .ajax__calendar_day,

 

.cal_Theme1 .ajax__calendar_hover .ajax__calendar_month,

 

.cal_Theme1 .ajax__calendar_hover .ajax__calendar_year,

 

.cal_Theme1 .ajax__calendar_active

 

{

 

color: #004080; font-weight:bold; background-color: #ffffff;

}

.cal_Theme1 .ajax__calendar_today

 

{

 

font-weight:bold;

}

.cal_Theme1 .ajax__calendar_other,

 

.cal_Theme1 .ajax__calendar_hover .ajax__calendar_today,

 

.cal_Theme1 .ajax__calendar_hover .ajax__calendar_title

 

{

 

color: #bbbbbb;

}

 

再创建一个default2.aspx文件,然后在head节点加入

<link href="calendar.css" rel="stylesheet" type="text/css" />使用这个Css文件。

然后在aspx文件中写入下面的代码(注意CssClass的设置):

 

第四步是用到的Css样式代码:

<style>

  

/* Content Page Layout */

.demoarea {

       padding:20px;

       background:#FFF url(images/demotop.png) no-repeat left top;

}

 

.demoarea p

{

抱歉!评论已关闭.