Se per caso abbiamo personalizzato via CSS la formattazione delle TABLE, inevitabilmente la presentazione del CalendarExtender (AjaxControlKit) sarà errata.

La soluzione è un CSS ad hoc per il controllo

.MyCalendar .ajax__calendar_container
        {
            border: 1px solid #646464;
            background-color: lemonchiffon;
            color: red;
        }
        .MyCalendar .ajax__calendar_container th
        {
            padding: 0px;
        }
        .MyCalendar .ajax__calendar_container td
        {
            background-color: lemonchiffon;
            padding: 0px;
        }
        .MyCalendar .ajax__calendar_other .ajax__calendar_day, .MyCalendar .ajax__calendar_other .ajax__calendar_year
        {
            color: black;
        }
        .MyCalendar .ajax__calendar_hover .ajax__calendar_day, .MyCalendar .ajax__calendar_hover .ajax__calendar_month, .MyCalendar .ajax__calendar_hover .ajax__calendar_year
        {
            color: black;
        }
        .MyCalendar .ajax__calendar_active .ajax__calendar_day, .MyCalendar .ajax__calendar_active .ajax__calendar_month, .MyCalendar .ajax__calendar_active .ajax__calendar_year
        {
            color: black;
            font-weight: bold;
        }

Questo l'utilizzo

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                <ajaxToolkit:CalendarExtender ID="AjCalendar" runat="server" TargetControlID="TextBox1"
                    FirstDayOfWeek="Monday" Format="dd-MM-yyyy" CssClass="MyCalendar">
                </ajaxToolkit:CalendarExtender>