0

我正在尝试在日历控件中禁用当前日期的星期。谁能告诉我如何做到这一点。例如...今天是 2012 年 8 月 21 日。我希望在加载日历时应该将 8 月 20 日到 8 月 25 日的整周显示为禁用。

4

2 回答 2

1

您好,您可以与 ondayrender 一起使用

<asp:Calendar ID="id" runat="server" ondayrender="Disabled_DayRender"></asp:Calendar>

protected void Disabled_DayRender(object sender, DayRenderEventArgs e)
    {
        if (condition) //specify your condition on yours days
        {
            e.Day.IsSelectable = false;
            e.Cell.ForeColor = System.Drawing.Color.Gray;
        }
    }
于 2012-08-21T17:21:42.383 回答
0

您可以计算一年中的周数,然后将其与当前日期的周数进行比较。

    protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
   {
       if (GetNumber(e.Day.Date) == GetNumber(DateTime.Now.Date))
       {
           e.Day.IsSelectable = false;
           e.Cell.ForeColor = System.Drawing.Color.Gray;
       }
   }
   public static int GetNumber(DateTime dtDate)
   {
       System.Globalization.CultureInfo ciGetNumber = System.Globalization.CultureInfo.CurrentCulture;
       int returnNumber = ciGetNumber.Calendar.GetWeekOfYear(dtDate, System.Globalization.CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Sunday);
       return returnNumber;
   }

这可以解决问题。感谢普林西。

于 2013-12-11T10:48:59.210 回答