C# 以编程方式选择asp.net日历中的日期
我正在asp.net web窗体应用程序中使用日历控制器。我在应用程序中实现了日历。我正在将选定的日期添加到列表中,以记住选定的日期并在将来的操作中使用它们 现在我在页面上添加了一些按钮,如选择周末、选择工作日、选择月份和选择年份 如果我点击选择周末按钮,我需要选择当前月份的所有周末并将其添加到列表中 如果我点击选择工作日按钮,我需要选择当月的所有工作日并将它们添加到列表中 如果我点击选择月份**按钮,我需要选择当前月份的所有日期并将其添加到列表中 如果我点击选择年份按钮,我需要选择当前年份的所有日期并将它们添加到列表中C# 以编程方式选择asp.net日历中的日期,c#,asp.net,calendar,C#,Asp.net,Calendar,我正在asp.net web窗体应用程序中使用日历控制器。我在应用程序中实现了日历。我正在将选定的日期添加到列表中,以记住选定的日期并在将来的操作中使用它们 现在我在页面上添加了一些按钮,如选择周末、选择工作日、选择月份和选择年份 如果我点击选择周末按钮,我需要选择当前月份的所有周末并将其添加到列表中 如果我点击选择工作日按钮,我需要选择当月的所有工作日并将它们添加到列表中 如果我点击选择月份**按钮,我需要选择当前月份的所有日期并将其添加到列表中 如果我点击选择年份按钮,我需要选择当前年份的所
我如何用C语言编程实现这一点?我认为没有奇迹般的解决方案,在这里我将如何编写两种方法来满足您周末的需求。对于其他几点,您可以做大致相同的事情:
protected void WeekendDays_Button_Click(object sender, EventArgs e)
{
this.SelectWeekEnds():
}
private void SelectWeekEnds(){
//If you need to get the selected date from calendar
//DateTime dt = this.Calendar1.SelectedDate;
//If you need to get the current date from today
DateTime dt = DateTime.Now;
List<DateTime> weekendDays = this.SelectedWeekEnds(dt);
weekendDays.ForEach(d => this.Calendar1.SelectedDates.Add(d));
}
private List<DateTime> GetWeekEndDays(DateTime DT){
List<DateTime> result = new List<DateTime>();
int month = DT.Month;
DT = DT.AddDays(-DT.Day+1);//Sets DT to first day of month
//Sets DT to the first week-end day of the month;
if(DT.DayOfWeek != DayOfWeek.Sunday)
while (DT.DayOfWeek != DayOfWeek.Saturday)
DT = DT.AddDays(1);
//Adds the week-end day and stops when next month is reached.
while (DT.Month == month)
{
result.Add(DT);
DT = DT.AddDays(DT.DayOfWeek == DayOfWeek.Saturday ? 1 : 6);
}
return result;
}
我需要更改所选日期的背景颜色。如何执行此操作?示例:this.Calendar1.SelectedDayStyle.BackColor=System.Drawing.Color.Red;你能解释一下这句话吗?DT=DT.AddDaysDT.DayOfWeek==DayOfWeek.星期六?1 : 6;. 我想争取一周的工作日。但是仍然无法正确执行。如果猜测,您可以查看三元运算符的定义:如果DT.DayOfWeek是星期六,则此行将DT增加1天,如果DT.DayOfWeek是星期天,则增加6天以到达下一个星期六。我没有为你的4个不同点写一个完整的解决方案,我只是想展示一条路要走,你可能需要在逻辑上做相应的改变来编写其他方法,我的意思是不只是复制/粘贴和更改一些东西。我已经修改了你的代码以获得周天数。但它不能正常工作。我已将其添加为。你能看看吗?