asp.net - How to use Calendar DayRender event

Calendar DayRender event
Calendar is an asp.net rich web server control which allow us to select an individual date or date range. calendar display the dates for one month at a time with total of six weeks appear at the same time. in an asp.net web page calendar server control rendered as an html table. by default, each day of calendar control contains a LinkButton control that raises an event when it is clicked.

calendar DayRender event occurs when each day is created in the control hierarchy of the calendar control. DayRender event is raised when each date cell in the calendar control is created. so it is possible to modify the date cell content and formatting the individual date cells before it displayed in web page.

we can write an event handler for the calendar DayRender event to customize the content and appearance of any specific date cell or cells. we can add only static control to any date cell such as Literal, Label, HyperLink and Image. we can change the calendar default background color, set a background image, change the text color of any date cell by using this DayRender event. we also can put any text, image or hyperlink in a date cell.

the following asp.net c# example code demonstrate us how can we use calendar DayRender event in an asp.net application.
CalendarDayRenderEvent.aspx

<%@ Page Language="C#" AutoEventWireup="true" %>

<!DOCTYPE html>

<script runat="server">
    protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {
        if (e.Day.DayNumberText == "19" | e.Day.DayNumberText == "21")
        {
            e.Cell.BackColor = System.Drawing.Color.Crimson;
            e.Cell.BorderColor = System.Drawing.Color.Pink;
            e.Cell.Font.Italic = true;
            e.Cell.Font.Size = FontUnit.Large;
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>How to use Calendar DayRender event in asp.net</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h2 style="color:SlateBlue; font-style:italic;">
            How to use Calendar DayRender Event in asp.net
        </h2>
        <hr width="550" align="left" color="SlateGray" />
        <asp:Calendar
            ID="Calendar1" 
            runat="server"
            NextPrevFormat="FullMonth"
            ForeColor="WhiteSmoke"
            SelectionMode="Day"
            DayNameFormat="Full"
            Font-Names="Book Antiqua"
            Font-Size="Medium"
            OnDayRender="Calendar1_DayRender"
            >
            <DayHeaderStyle
                 BackColor="DimGray"
                 />
            <DayStyle
                 BackColor="SlateGray"
                 BorderColor="SkyBlue"
                 BorderWidth="1"
                 Font-Bold="true"
                 Font-Italic="true"
                 />
            <NextPrevStyle
                 Font-Italic="true"
                 Font-Names="Arial CE"
                 />
            <SelectedDayStyle
                 BackColor="Green"
                 BorderColor="SpringGreen"
                 />
            <OtherMonthDayStyle BackColor="Gray" />
            <TitleStyle
                 BackColor="MidnightBlue"
                 Height="36"
                 Font-Size="Large"
                 Font-Names="Courier New Baltic"
                 />
        </asp:Calendar>
    </div>
    </form>
</body>
</html>
More asp.net examples