一直以来我不太喜欢使用.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;//然后还可以添加一些单元格的内容 } } } }
运行效果