asp.net页面中的年度日历

时间:2011-09-12 11:38:25

标签: c# asp.net c#-4.0

我希望能够在日历控件中设置某些日期的样式。在我的申请中,我可以附上日期的注释(例如15.09.2011 - >约翰的生日)。

附有一个或多个音符的日期应采用不同的样式。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

如果您使用的是标准的ASP.NET日历控件,则可以通过实现DayRender(...)事件处理程序来设置日期样式。为Calendar控件创建的每一天都会引发DayRender事件。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.calendar.dayrender.aspx

您可以在此处查看您正在处理的日期并为其设置样式。在您的情况下,您可以在此处检查日期是否附有注释。如果是这样,你会给它一种不同的风格。

以下是演示此方法的示例:

http://www.c-sharpcorner.com/UploadFile/puranindia/CalendarcontrolASPNET09162009030359AM/CalendarcontrolASPNET.aspx

这个例子标志着所有印度假期。

一些快速代码:

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
    // Check if there is a note attached to the day (e.Day.Date) which is being 
    // rendered.
    bool hasNote = ....;

    // Style cell (which contains the date) if it has a note
    if (hasNote)
    {
       e.Cell.BackColor = System.Drawing.Color.Yellow;
    }
}