Assembly: System.Web (in System.Web.dll)
Although data binding is not supported for the Calendar control, it is possible to modify the content and formatting of the individual date cells. Before the Calendar control is displayed on the Web page, it creates and assembles the components that make up the control. The DayRender event is raised when each date cell in the Calendar control is created. You can control the contents and formatting of a date cell when it is created by providing code in the event handler for the DayRender event.
The event handler receives a DayRenderEventArgs object that contains event data. The DayRenderEventArgs object contains two properties that you can use to programmatically control the format of the date cell. The Cell property represents the cell being rendered, while the Day property represents the date to render in the cell.
Because the DayRender event is raised while the Calendar control is being rendered, you cannot add a control that can also raise an event, such as LinkButton. You can only add static controls, such as System.Web.UI::LiteralControl, Label, Image, and HyperLink.
Raising an event invokes the event handler through a delegate. For more information, see Events and Delegates.
The 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 in a derived class, be sure to call the base class's method so that registered delegates receive the event.
The following code example demonstrates how to specify and code a handler for the DayRender event to make the background color yellow for the days in the displayed month. It also demonstrates how to customize the contents of a cell by adding a System.Web.UI::LiteralControl control to the cell.