这两天在研究高人的代码,确实跟自己平时旧有的编程有所变化,且不论代码效率如何,发现他们只需要几行简单的代码就可以实现你用很多代码才能实现的东西,考虑问题的角度和解决问题的方法不同导致的吧。废话不多说。今天在敲代码时,发现了Calender控件,很好玩。

   ASP.NET自己提供的控件Calender,给我们提供了基本的日历显示功能,但是如果想加一些特性,就得自己设置相关的方法和属性。

假如你想在页面加载时,让今天的日期默认选中,那么你可以这样设置

DayRender事件是Calender的一个事件,每当加载一个日期,就去触发这个事件,该事件有一个参数 DayRenderEventArgs,这个家伙默认的指的是Calender控件中的一个Cell。Cell你可以这样理解:Calender是个表格,Cell就是里边的一个单元格,就是承装日期的一个容器,这个容器呢你可以设置背景,获取里边的东东。

所以你只需要比较一下当前日期和cell中的日期是否相等,如果相等,则渲染一下

  protected void calendar_DayRender(object sender, DayRenderEventArgs e)
    {//每次加载一个日期都会触发这个事件
        if (e.Day.Date == DateTime.Now.Date)
        {
            e.Cell.BackColor = System.Drawing.Color.Yellow;
        }
      }

运行效果如下:

 

运行结果