Asp.Net Canlendar (Takvim) Kontrolünde Günleri Farklı Renklerde Gösterme

Uzun bir aradan sonra tekrar merhaba şimdiki örneğimiz calendar kontrolünde belirli günlerin zemin renklerini farklı görüntüleme işlemi ile alakalı bizden istenen
tarihrenkli
örneğinde olduğu gibi istenen günlerin zemin renklerini farklı göstermek bunun için ilk olarak form üzerine bir calendar nesnesi ekleyip OnDayRender olayına bir fonksiyon atayarak istediğimiz günlerin zemin renklerini değiştirmek için gerekli kodları yazıyoruz.

  <asp:Calendar ID="Calendar1" runat="server"   Font-Names="Verdana"  OnDayRender="Calendar1_DayRender"  
BackColor="White"   BorderColor="Black"   BorderStyle="Solid"   CellSpacing="1"   Font-Size="9pt"  
ForeColor="Black"   Height="250px"   NextPrevFormat="ShortMonth">  
    <SelectedDayStyle BackColor="#333399" ForeColor="White" />  
    <TodayDayStyle BackColor="#999999" ForeColor="White" />  
    <OtherMonthDayStyle ForeColor="#999999" />  
    <DayStyle BackColor="#CCCCCC" Height="50px" Width="100px" />  
    <NextPrevStyle Font-Bold="True" Font-Size="8pt" ForeColor="White" />  
    <DayHeaderStyle Font-Bold="True" Font-Size="8pt" ForeColor="#333333" Height="8pt" />  
    <TitleStyle BackColor="#333399" BorderStyle="Solid" Font-Bold="True" Font-Size="12pt" ForeColor="White" Height="12pt" />  
</asp:Calendar> 

Renk değiştirme işlemi için e.Cell.BackColor komutunu kullanıyoruz. CalendarDay d = e.Day; ile gün değerini alıp belirlediğimiz güne uyup uymadığını kontrol ediyoruz eğer uyuyorsa rengi değiştiriyoruz.

 protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {      
        CalendarDay d = e.Day;
        if (d.Date == Convert.ToDateTime("19/12/2015"))
        {
            e.Cell.BackColor = System.Drawing.Color.Red;
        }
        else if (d.Date == Convert.ToDateTime("25/12/2015"))
        {//http://www.aspnetornekleri.com/
            e.Cell.BackColor = System.Drawing.Color.Green;
        }
        else if (d.Date == Convert.ToDateTime("29/12/2015"))
        {
            e.Cell.BackColor = System.Drawing.Color.Yellow;
        }
    }