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

时间:2015-10-14 13:13:10

标签: c# asp.net calendar code-behind

我有这个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#。

中日历事件及其内置函数的新手

1 个答案:

答案 0 :(得分:2)

您无法改变但只能改变它的显示方式,而且可以让它无法选择:

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;
    }
}