这几天做一个项目,需要在一个页面中同时显示两个月的日历,并且当一个日历变化月份的时候,另一个也需要同步变化。
解决方法就是在一个页面中加两个日历控件,然后在Calendar的onvisiblemonthchanged事件中更新另一个Calendar的VisibleDate属性就可以了,代码如下
aspx页面
cs页面
解决方法就是在一个页面中加两个日历控件,然后在Calendar的onvisiblemonthchanged事件中更新另一个Calendar的VisibleDate属性就可以了,代码如下
aspx页面
1
<asp:Calendar ID="Calendar1" runat="server" Height="236px" OnVisibleMonthChanged="Calendar1_VisibleMonthChanged"
2
Width="273px"></asp:Calendar>
3
<asp:Calendar ID="Calendar2" runat="server" Height="195px" Width="271px" OnVisibleMonthChanged="Calendar2_VisibleMonthChanged">
4
</asp:Calendar>
<asp:Calendar ID="Calendar1" runat="server" Height="236px" OnVisibleMonthChanged="Calendar1_VisibleMonthChanged"2
Width="273px"></asp:Calendar>3
<asp:Calendar ID="Calendar2" runat="server" Height="195px" Width="271px" OnVisibleMonthChanged="Calendar2_VisibleMonthChanged">4
</asp:Calendar>cs页面
1
protected void Page_Load(object sender, EventArgs e)
2
{
3
if (!IsPostBack)
4
{
5
//第一次加载页面的时候,需要更新下一个月的日历控件的显示月份为下一个月
6
this.Calendar2.VisibleDate = DateTime.Now.AddMonths(1);
7
}
8
}
9
10
protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
11
{
12
//让第二个日历控件的时间为第一个日历控件的新的时间的下一个月
13
this.Calendar2.VisibleDate = e.NewDate.AddMonths(1);
14
}
15
16
protected void Calendar2_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
17
{
18
//让第一个日历控件的时间为第二个日历控件的新的时间的上一个月
19
this.Calendar1.VisibleDate = e.NewDate.AddMonths(-1);
20
}
21
22
protected void Page_Load(object sender, EventArgs e)2
{3
if (!IsPostBack)4
{5
//第一次加载页面的时候,需要更新下一个月的日历控件的显示月份为下一个月6
this.Calendar2.VisibleDate = DateTime.Now.AddMonths(1);7
}8
}9

10
protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e)11
{12
//让第二个日历控件的时间为第一个日历控件的新的时间的下一个月13
this.Calendar2.VisibleDate = e.NewDate.AddMonths(1);14
}15

16
protected void Calendar2_VisibleMonthChanged(object sender, MonthChangedEventArgs e)17
{18
//让第一个日历控件的时间为第二个日历控件的新的时间的上一个月19
this.Calendar1.VisibleDate = e.NewDate.AddMonths(-1);20
}21

22


浙公网安备 33010602011771号