我正在尝试在日历控件中禁用当前日期的星期。谁能告诉我如何做到这一点。例如...今天是 2012 年 8 月 21 日。我希望在加载日历时应该将 8 月 20 日到 8 月 25 日的整周显示为禁用。
问问题
753 次
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 回答