ASP.NET Calendar日历控件

Calendar日历控件中有两个链接“前一个月”“下一个月”,怎么才可以当然当前月为今年的一月时,“前一个月”这个链接不显示或显示但无效,只是只能用“下一个月”这个链接;当然当前月为明年的最后一个月时,下一个月无效,只能用上一个月这个链接,怎么做
当我设置第一次加载页面显示今年一月时候,为什么我加载的时候还是显示了前一个月这个链接啊

protected void Page_Load ( object sender, EventArgs e )
{
if ( !Page.IsPostBack )
{
if ( DateTime.Now.Month == 1 )
{
this.Calendar1.PrevMonthText = "";
}
}
}
protected void Calendar1_SelectionChanged ( object sender, EventArgs e )
{
Calendar cal = sender as Calendar;
if ( cal.SelectedDate.Year != 1 && cal.SelectedDate.Month == 1 )
{
cal.PrevMonthText = "";
}
else if ( cal.SelectedDate.Year == DateTime.Now.Year + 1 && cal.SelectedDate.Month == 12 )
{
cal.NextMonthText = "";
}
else
{
cal.PrevMonthText = "<<";
cal.NextMonthText = ">>";
}
}

protected void Calendar1_VisibleMonthChanged ( object sender, MonthChangedEventArgs e )
{
if ( e.NewDate.Year == DateTime.Now.Year && e.NewDate.Month == 1 )
{
Calendar1.PrevMonthText = "";
}
else if ( e.NewDate.Year == DateTime.Now.Year + 1 && e.NewDate.Month == 12 )
{
Calendar1.NextMonthText = "";
}
else
{
Calendar1.PrevMonthText = "<<";
Calendar1.NextMonthText = ">>";
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-06-12
我试了一下楼上的,有点问题,改了一下:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (DateTime.Now.Month == 1 || DateTime.Now.Month == 12)
{
if (DateTime.Now.Month == 1)
{
Calendar1.NextMonthText = ">";
Calendar1.PrevMonthText = "";
return;
}
else
{
Calendar1.PrevMonthText = "<";
Calendar1.NextMonthText = "";
return;
}
}
else
{
Calendar1.PrevMonthText = "<";
Calendar1.NextMonthText = ">";
}
}
}

protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
Calendar cal = sender as Calendar;
if (cal.SelectedDate.Month == 1 || cal.SelectedDate.Month == 12)
{
if (cal.SelectedDate.Month == 1)
{
cal.NextMonthText = ">";
cal.PrevMonthText = "";
return;
}
else
{
cal.PrevMonthText = "<";
cal.NextMonthText = "";
return;
}
}
else
{
cal.PrevMonthText = "<";
cal.NextMonthText = ">";
}
}

protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
{
if (e.NewDate.Month == 1 || e.NewDate.Month == 12)
{
if (e.NewDate.Month == 1)
{
Calendar1.NextMonthText = ">";
Calendar1.PrevMonthText = "";
return;
}
else
{
Calendar1.PrevMonthText = "<";
Calendar1.NextMonthText = "";
return;
}
}
else
{
Calendar1.PrevMonthText = "<";
Calendar1.NextMonthText = ">";
}
}
相似回答