This documentation is archived and is not being maintained.

SelectedDatesCollection Class

Encapsulates a collection of System.DateTime objects that represent the selected dates in a Calendar control. This class cannot be inherited.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class SelectedDatesCollection : ICollection, 

Use this class to programmatically manage a collection of System.DateTime objects that represent the selected dates in a Calendar control. This class is commonly used to add or remove dates from the collection.

This collection stores only whole dates. The time portion of each System.DateTime is removed. The dates are stored in ascending order. If there are duplicate dates, only one date is stored in the collection.

The following code example demonstrates how to programmatically use the SelectedDatesCollection class to select dates in the Calendar control.

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
<script runat="server">

  void Page_Load(Object sender, EventArgs e) 
    DisplayCalendar.VisibleDate = DisplayCalendar.TodaysDate;

  void SelectButton_Click(Object sender, EventArgs e) 

    int current_day = DisplayCalendar.VisibleDate.Day;
    int current_month = DisplayCalendar.VisibleDate.Month;
    int current_year = DisplayCalendar.VisibleDate.Year;


    // Iterate through the current month and add all Wednesdays to the  
    // SelectedDates collection of the Calendar control. 
    for (int i = 1; i <= System.DateTime.DaysInMonth(current_year, current_month); i++)
       DateTime currentDate = new DateTime(current_year, current_month, i);
       if (currentDate.DayOfWeek == DayOfWeek.Wednesday)

     MessageLabel.Text = "Selection Count = " + DisplayCalendar.SelectedDates.Count.ToString();


  void DisplayCalendar_SelectionChanged(Object sender, EventArgs e) 
    MessageLabel.Text = "Selection Count = " + DisplayCalendar.SelectedDates.Count.ToString();


<html xmlns="" >
  <head runat="server">
    <title>ASP.NET Example</title>
    <form id="form1" runat="server">

      <asp:calendar id="DisplayCalendar" runat="server"  
        onselectionchanged="DisplayCalendar_SelectionChanged" />

      <hr />

      <asp:button id="SelectButton"
        text="Select All Weds in Month" 


      <asp:label id="MessageLabel" 
        runat="server" />



Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0