Calendar.OnSelectionChanged Method ()
Raises the SelectionChanged event of the Calendar control and allows you to provide a custom handler for the SelectionChanged event.
Assembly: System.Web (in System.Web.dll)
The SelectionChanged event is raised when the user selects a day, a week, or an entire month by clicking the date selector controls.
Raising an event invokes the event handler through a delegate. For more information, see NIB: Events and Delegates.
The OnSelectionChanged method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors:
When overriding OnSelectionChanged in a derived class, be sure to call the base class's OnSelectionChanged method so that registered delegates receive the event.
The following code example demonstrates how to specify and code a handler for the SelectionChanged event to display the number of items selected in the Calendar control.
<%@ Page Language="VB" AutoEventWireup="True" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Calendar SelectionChanged Example</title> <script runat="server"> Sub Selection_Change(sender As Object, e As EventArgs) ' Clear the current text. Message.Text = "" ' Iterate through the SelectedDates collection and display the ' dates selected in the Calendar control. Dim day As DateTime For Each day In Calendar1.SelectedDates Message.Text &= day.Date.ToShortDateString() & "<br />" Next End Sub </script> </head> <body> <form id="form1" runat="server"> <h3>Calendar SelectionChanged Example</h3> Select dates on the Calendar control.<br /><br /> <asp:Calendar ID="Calendar1" runat="server" SelectionMode="DayWeekMonth" ShowGridLines="True" OnSelectionChanged="Selection_Change"> <SelectedDayStyle BackColor="Yellow" ForeColor="Red"> </SelectedDayStyle> </asp:Calendar> <hr /> <table border="1"> <tr style="background-color:silver"> <th> Selected Dates: </th> </tr> <tr> <td> <asp:Label id="Message" Text="No dates selected." runat="server"/> </td> </tr> </table> </form> </body> </html>
<%@ Page Language="VB" AutoEventWireup="True" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Calendar SelectionChanged Example</title> <script runat="server"> Sub Selection_Change(sender As Object, e As EventArgs) ' Clear the current text. Message.Text = "" ' Iterate through the SelectedDates collection and display the ' dates selected in the Calendar control. Dim day As DateTime For Each day In Calendar1.SelectedDates Message.Text &= day.Date.ToShortDateString() & "<br />" Next End Sub Sub Page_Load(sender As Object, e As EventArgs) ' Manually register the event-handling method for the ' SelectionChanged event of the Calendar control. AddHandler Calendar1.SelectionChanged, AddressOf Selection_Change End Sub </script> </head> <body> <form id="form1" runat="server"> <h3>Calendar SelectionChanged Example</h3> Select a day, week, or month on the Calendar control.<br /><br /> <asp:Calendar ID="Calendar1" runat="server" SelectionMode="DayWeekMonth" ShowGridLines="True"> <SelectedDayStyle BackColor="Yellow" ForeColor="Red"> </SelectedDayStyle> </asp:Calendar> <hr /> <table border="1"> <tr style="background-color:silver"> <th> Selected Dates: </th> </tr> <tr> <td> <asp:Label id="Message" Text="No dates selected." runat="server"/> </td> </tr> </table> </form> </body> </html>
Available since 1.1