אם כן, אז יש לך property במחלקה DateTime שנקרא DayOfWeek. אתה יכול גם להתחכם ולהחליט איזה יום בשבוע לבטל לפי ה - FirstDayOfWeek. ככה בישראל תבטל שישי ושבת, ואצל הגויים ימ"ש תבטל את שבת וראשון.
לרשת מ-Calendar ולממש את המתודה OnDayRender בעצמך, כך תבדוק שהתאריך (שמועבר אליה כפרמטר) הוא לא שישי או שבת, ותפלוט כ-HTML את הפרשנות שלך ל-disable (סתם מספר במקום לינק, כמו בכל יום ? איך שבא לך). אני יישמתי משהו דומה ב-99% לזה, עובד יופי.
public class myCalendar: Calendar { protected override void OnDayRender(TableCell cell ,CalendarDay day) { if (Convert.ToInt32(day.Date.DayOfWeek) == 5 || Convert.ToInt32(day.Date.DayOfWeek) == 6) { day.IsSelectable = false; } // Let the base class raise this event. base.OnDayRender(cell, day); } }
תעשה חיפוש בגוגל, לפני שבועיים עשיתי את זה וזו אפשרות שכבר קיימת. אפשר לדרוס את DayRender גם בפקד המקורי בלי לרשת ולממש את כל הפקד מחדש ולבטל את האפשרות לבחור ימים מסויימים. באירוע DayRender תבדוק אם היום שמעובד כרגע הוא שישי/שבת ואם כן תשנה לו את המאפיין המתאים (IsSelectable = false בהצלחה.