calendar日历控件实例
<%@ Page Language="vb" Debug="true" %> <%@ import namespace="system.drawing"%> <html><head> <script language="vb" runat="server"> '声明一个数组用与储存一年中的节日 dim holidays(12,31) as string dim y,m,s,j as integer sub page_load(sender as object,e as eventargs) '将具体的节日名存入数组 holidays(1,1)="元旦" holidays(2,20)="春节" holidays(3,8)="妇女节" holidays(5,1)="劳动节" holidays(5,4)="青年节" holidays(6,1)="儿童节" holidays(7,1)="建党节" holidays(8,1)="建军节" holidays(9,10)="教师节" holidays(9,28)="中秋节" holidays(10,1)="国庆节" holidays(12,25)="圣诞节" '用指定图形来显示选择月份和星期的标志 calendar1.selectmonthtext="选全月" 'calendar选择月份的标签 calendar1.selectweektext="选全周" 'calendar选择星期的标签 end sub '选择时间下拉框的数 sub page_init(sender as object,e as eventargs) '请注意,这里使用的是page_init对象,如果用load的话,下拉框里的数就会循环几次了 for y=1980 to 2010 dat.items.add(y) next for m=1 to 12 mon.items.add(m) next end sub '日历控件的dayrendar事件的处理程序。 sub calendar1_dayrender(sender as object,e as dayrendereventargs) dim c as tablecell dim d as calendarday dim g as string c=e.cell '将dayrendereventargs的cell对象赋给 c d=e.day '将dayrendereventargs的day对象赋给 d g=val(d.date.month) & val(d.date.day) if d.isothermonth then c.controls.clear '不显示非当前月份的日前 else dim strholiday,strstart,strend as string strholiday=holidays(d.date.month,d.date.day) '获取节日名 strstart="<br><font color=red face=宋体>" 'HTML格式语句开始部分 strend="</font>" 'HTML格式语句结束部分 if strholiday <> "" then '将节日名所在的日期存入C,同时设置字体颜色 c.controls.add(new literalcontrol(strstart+strholiday+strend)) c.forecolor=color.red end if end if end sub '日历控件selectionchanged事件处理程序 sub date_selected(sender as object,e as eventargs) label1.text="被选中的日期为:" & calendar1.selecteddate end sub '日历控件的visiblemonthchanged事件处理程序 sub month_changed(sender as object,e as monthchangedeventargs) label1.text="当前显示的月为:" & e.previousdate.month label1.text & ="月,当前月为:" & e.newdate.month & "月。" end sub '处理选择年 sub year1(sender aS object,e as eventargs) dim y as string=cstr(dat.selecteditem.text) dim m as string=cstr(mon.selecteditem.text) calendar1.Visibledate= m &"/01/" & y end sub '处理选择月 sub mon1(sender aS object,e as eventargs) dim y as string=cstr(dat.selecteditem.text) dim m as string=cstr(mon.selecteditem.text) calendar1.Visibledate= m &"/01/" & y end sub </script> <body> <asp:Literal ID="txt" runat="server"> <strong>calendar 控件实例</strong> </asp:Literal> <form id="form" method="post" runat="server"> <asp:Calendar ID="calendar1" runat="server" OnDayRender="calendar1_dayrender" OnSelectionChanged="date_selected" OnVisibleMonthChanged="month_changed" ShowGridLines="true" BorderWidth="1" Font-Name="宋体" Font-Size="14px" Width="500px" TitleStyle-BackColor="#009999" TitleStyle-ForeColor="darkblue" TitleStyle-Font-Size="16px" TitleStyle-Font-Bold="" DayHeaderStyle-BackColor="" DayHeaderStyle-ForeColor="#CCCCCC" DayStyle-VerticalAlign="top" DayStyle-Height="55" DayStyle-Width="55" NextPrevFormat="FullMonth" NextPrevStyle-BackColor="#009999" SelectionMode="DayWeekMonth" SelectedDayStyle-BackColor="#009999" FirstDayOfWeek="Monday" WeekendDayStyle-ForeColor="#FF0000"/></asp:Calendar> 请选择时间: <%--选择下拉框--%> <asp:DropDownList ID="dat" runat="server" AutoPostBack="true" OnSelectedIndexChanged="year1"> </asp:DropDownList> <asp:DropDownList ID="mon" runat="server" AutoPostBack="true" OnSelectedIndexChanged="mon1"> </asp:DropDownList><br> <asp:Label ID="label1" runat="server"/> </form> </body></head></html>