VS.NET(C#)-4.9_Calendar控件应用案例二

Calendar控件应用案例二

通过下拉列表构造需要显示的月份的日期,然后显示这个月份的所有星期五。

        选择一定范围内的时间段。

        重点:DayRender事件,SelectedIndexChanged事件

UI设计视图

UI代码视图

<%@ PageLanguage="C#"AutoEventWireup="true"CodeFile="CalendarDemo1.aspx.cs"Inherits="CalendarDemo1"%>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>无标题页</title>

</head>

<body>

    <form id="form1" runat="server">

        <div>

            <asp:Calendar ID="cld" runat="server" OnDayRender="cld_DayRender" OnVisibleMonthChanged="cld_VisibleMonthChanged">

                <SelectedDayStyle BorderColor="#FF8080" BorderStyle="Solid" BorderWidth="1px" Font-Bold="True" />

            </asp:Calendar>

        </div>

        <br />

        <br />

        Select a month

        <asp:DropDownList ID="ddl" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddl_SelectedIndexChanged">

            <asp:ListItem>1</asp:ListItem>

            <asp:ListItem>2</asp:ListItem>

            <asp:ListItem>3</asp:ListItem>

            <asp:ListItem>4</asp:ListItem>

            <asp:ListItem>5</asp:ListItem>

            <asp:ListItem>6</asp:ListItem>

            <asp:ListItem>7</asp:ListItem>

            <asp:ListItem>8</asp:ListItem>

            <asp:ListItem>9</asp:ListItem>

            <asp:ListItem>10</asp:ListItem>

            <asp:ListItem>11</asp:ListItem>

            <asp:ListItem>12</asp:ListItem>

        </asp:DropDownList>&nbsp;<asp:Button ID="btnTGIF" runat="server" Text="显示星期五" OnClick="btnTGIF_Click"/><br />

        <br />

        Day Range<br />

        <br />

        <asp:TextBox ID="txtStart" runat="server" Width="59px"></asp:TextBox>

        &nbsp;&nbsp; &nbsp;&nbsp;

        <asp:TextBox ID="txtEnd" runat="server" Width="57px"></asp:TextBox>

        &nbsp;

        <asp:Button ID="btnRange" runat="server" Text="Apply Range" OnClick="btnRange_Click" />

    </form>

</body>

</html>

CS代码视图

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.UI.WebControls.WebParts;

usingSystem.Web.UI.HtmlControls;

public partial class CalendarDemo1 : System.Web.UI.Page

{

    protected void Page_Load(objectsender, EventArgs e)

    {

        if(!IsPostBack)

        {

            cld.VisibleDate = cld.TodaysDate;

            cld.SelectedDate = cld.TodaysDate;

            ddl.SelectedIndex =cld.VisibleDate.Month - 1;

        }

    }

    protected void ddl_SelectedIndexChanged(object sender, EventArgs e)

    {

        cld.SelectedDates.Clear();

        //通过下拉列表构造需要显示的月份的日期

        cld.VisibleDate = new DateTime(cld.VisibleDate.Year,Int32.Parse(ddl.SelectedItem.Value),1);

        //cld.SelectedDate= cld.VisibleDate;

    }

    protected void btnTGIF_Click(objectsender, EventArgs e)

    {

        intcurrentMonth = cld.VisibleDate.Month;

        intcurrentYear = cld.VisibleDate.Year;

        cld.SelectedDates.Clear();

        for(int i = 1; i <System.DateTime.DaysInMonth(currentYear,currentMonth);i++)

        {

            DateTimev_Date = new DateTime(currentYear,currentMonth,i);

            if(v_Date.DayOfWeek== DayOfWeek.Friday)

            {

                cld.SelectedDates.Add(v_Date);

            }

        }

    }

    protected void btnRange_Click(objectsender, EventArgs e)

    {

        intcurrentMonth = cld.VisibleDate.Month;

        intcurrentYear = cld.VisibleDate.Year;

        if(txtStart.Text !=""&&  txtEnd.Text !="")

        {

        DateTimestartDate = new DateTime(currentYear,currentMonth,Int32.Parse(txtStart.Text));

        DateTimeendDate = new DateTime(currentYear,currentMonth, Int32.Parse(txtEnd.Text));

        cld.SelectedDates.Clear();

       cld.SelectedDates.SelectRange(startDate,endDate);

        }

    }

    protected void cld_DayRender(objectsender, DayRenderEventArgs e)

    {

        //在单元格中显示Happy birthday

        if(e.Day.Date.Month==8 && e.Day.Date.Day == 9)

        {

            e.Cell.Controls.Add(new LiteralControl("<br/> Happy Birthday!"));

        }

        //显示春节快乐!

        if(e.Day.Date.Month == 2 && e.Day.Date.Day == 15)

        {

            e.Cell.Controls.Add(new LiteralControl("<br/> 春节快乐!"));

        }

    }

    protected void cld_VisibleMonthChanged(objectsender, MonthChangedEventArgs e)

    {

    }

}

UI运行时图

通过下拉列表构造需要显示的月份的日期,然后显示这个月份的所有星期五

选择一定范围内的时间段


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值