我正试图找到一种方法,我可以让用户只点击当前周的特定周数。我将日历控件设置为SelectionMode =" Dayweek"并且他们无法选择特定的日期,但我无法弄清楚如何防止他们选择除我想让他们选择的那些周之外的任何周。这适用于员工安排申请,我们不希望他们提前三周以上安排。
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
//dont allow select single day
if (e.Day.Date > DateTime.Now.AddDays(21))
{
e.Day.IsSelectable = false;
}
e.Day.IsSelectable = false;
}
<asp:Calendar ID="Calendar1" runat="server" BackColor="White" BorderColor="#999999" SelectWeekText="Edit" SelectionMode="Dayweek" ondayrender="Calendar1_DayRender" OnSelectionChanged="Calendar1_SelectionChanged" ShowNextPrevMonth="true" CellPadding="4" DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt" ForeColor="Black" Height="180px" Width="200px">
<DayHeaderStyle BackColor="#CCCCCC" Font-Bold="True" Font-Size="7pt" />
<NextPrevStyle VerticalAlign="Bottom" />
<OtherMonthDayStyle ForeColor="#808080" />
<SelectedDayStyle BackColor="#666666" Font-Bold="True" ForeColor="White" />
<SelectorStyle BackColor="#CCCCCC" />
<TitleStyle BackColor="#999999" BorderColor="Black" Font-Bold="True" />
<TodayDayStyle BackColor="#CCCCCC" ForeColor="Black" />
<WeekendDayStyle BackColor="#FFFFCC" />
</asp:Calendar>