设置在日历中显示的日期范围

set range of date to display in calendar

我有这个 asp.net 日历控件:

<asp:Calendar runat="server" ID="calendar" SelectionMode="Day" ondayrender="DateRange" />

及其背后的代码:

protected void DateRange(object sender, DayRenderEventArgs e)
{
    //do some codes here to set the range of the calendar to display
}

我还没有对 DateRange 执行任何操作,因为我不知道它的算法。

如果我希望我的日历控件只显示特定的月份和日期:

示例: 仅显示范围(2015 年 7 月 4 日 - 2016 年 3 月 15 日)//后面没有内容

是否可以更改默认日历方法以仅显示上面的特定月份、日期?

请帮忙,我是日历事件及其在 c# 中的内置函数的新手。

你不能改变什么,只能改变它的显示方式,你可以让它不可选择:

protected void DateRange(object sender, DayRenderEventArgs e)
{
    DateTime rangeStart = new DateTime(2015, 7, 4);
    DateTime rangeEnd   = new DateTime(2016, 3, 15);

    if (e.Day.Date < rangeStart || e.Day.Date > rangeEnd)
    {
        e.Day.IsSelectable = false;
        e.Cell.ForeColor = System.Drawing.Color.Gray;
    }
}