ASP.NET2.0中Calendar的使用(添加自己的日期备注)

一直以来我不太喜欢使用.net里的Calendar控件.主要是因为他每点击一次都会刷新.随着AJAX.NET的推出这个控件也有了一丝的用处.所以也就研究一下

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    //声明一个数组放置对应的节日
    //为了使用方便定义的是13月,32天
    string[,] days=new string[13,32];

    protected void Page_Load(object sender, EventArgs e)
    {
        days[1, 1] = "元宵节";
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        
    }

    /// <summary>
    /// 编写DayRender事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {
        CalendarDay d = e.Day;//得到当前单元格的日期信息
        TableCell c = e.Cell;//得到单元格

        if (d.IsOtherMonth)//判断如果不是本月的则把单元格内的内容清空
        {
            c.Controls.Clear();
        }
        else
        {
            string myday=days[d.Date.Month,d.Date.Day];
            if (myday!=null)//如果有相关日期就.....
            {
                c.Controls.Clear();//可以清除以后再添加自己的控件
                Button b = new Button();
                b.Text="a";
                c.Controls.Add(b);//例如我这里添加的是一个按钮.把原来的1号给干掉了.orz
                c.Controls.Add(new LiteralControl("<a title='"+myday+"'>★</a>"));
                c.ForeColor = System.Drawing.Color.Red;//然后还可以添加一些单元格的内容
            }
        }


    }
}

运行效果

image

posted @ 2007-12-19 15:58 阿呆乐 阅读(253) 评论(0) 编辑 收藏