前面的代码包括了DayStyle-ForeColor属性。它允许你控制日历日期的字体颜色,但是这只是日历的DayStyle的可用属性之一。下列属性也能够被控制:
* BackColor(背景色)
* BorderColor(边框色)
* BorderStyle(边框样式)
* BorderWidth(边框宽度)
* CssStyle(CSS样式)
* Font-Bold(黑体)
* Font-Italic(斜体)
* Font-Name(字体名称)
* Font-Overline(字体眉题))
* Font-Size(字号)
* Font-Strikeout(删除线)
* Font-Underline(下划线)
* ForeColor(字体颜色)
* Height(高度)
* HorizontalAlign(水平校准)
* VerticalAlign(垂直校准)
* Width(宽度)
* Wrap(换行)
这些属性能够用于DayHeader、SelectedDay、SelectedMonth、TitleStyle、TodayDayStyle、 WeekdayStyle、NextPrevStyle和OtherMonthDay。虽然关于这些属性的细节要比我在本篇电子通讯里所提到的更多,但是关键一点是,控件的每个方面都可以按照理想的方式呈现出来。
访问数据
一旦日历(的样式)被定格,就有必要开始处理日历的数据了。数据这一方面主要是供用户选择的数据。
下面的事件允许你轻松地访问和操控日历的日期(被选中的数据):
* OnDayBinding:当数据被绑定到控件的时候被触发
* OnDayRender:当日期被显示的时候被触发
* OnDisposed:当控件被抛弃的时候被触发
* OnInit:当控件第一次被加载/初始化的时候被触发
* OnLoad:当控件被加载的时候被触发
* OnPreRender:当控件被加载但是在它被生成之前被触发
* OnSelectionChanged:当日期被用户选择(点击)的时候被触发
* OnUnload:当控件被卸载(在被抛弃之前)的时候被触发
* OnVisibleMonthChanged:当所显示的月份被更改(前一个/后一个链接)的时候被触发
最常使用的事件是OnSelectionChanged。它允许你在用户选择日期的时候运行代码。事件可以作为Calendar控件的属性被访问。代码可以被指定给事件,但是通常会插入一个方法名(存在于页面上)。下面的Calendar控件会在用户选择日期的时候调用一个叫做 Change_Date的方法:
<asp:Calendar id="cal" runat="server" OnSelectionChanged="Change_Date" />
下面就是Change_Date方法的代码:
<script language="vb" runat="server">
Protected Sub Change_Date(sender As System.Object, e As System.EventArgs)
fld.value = cal.SelectedDate.ToString("MM/dd/yyyy")
</script>
代码签名必须延续先前代码里的句法;这包括Object和EventArgs对象。代码会捕捉用户所选择的日期,并以11/18/2003的日期格式填充一个文本段(叫做fld)。
拾取数据
Calendar控件提供了一些必需的功能,使你能够创建一个易于使用的界面,用以操作ASP.NET应用程序里的日期。它可以通过拖放或者简单地输入必需的代码被加到窗体里。其结果就是美妙的用户体验。
本文作者Tony Patton的职业生涯开始于应用程序开发员,并已经获得了Java、VB、Lotus和XML的认证,以增加其专业知识。
