这是我当前项目中的要求,我想选择12月1日,并且我将选择12月9日,包括两者之间的所有日期都应该被选中,包括所选日期。
在一个日历中,我需要允许所有12个月的时间。
对于每个月,例如,如果我选择11月3日和11月10日,则需要选择所有日期,包括所选日期,并且在单击“保存”按钮后,应该选择所选日期的第一个和最后一个日期进行存储< / p>
有人可以帮我吗,请问我患上了两天
预先感谢
我正在使用asp.net c#。
protected void calendar_onDayRender(object sender, DayRenderEventArgs e)
{
if (e.Day.Date.CompareTo(DateTime.Today) < 0)
{
e.Day.IsSelectable = false;
}
if (e.Day.Date.DayOfWeek == DayOfWeek.Sunday) //&& _lstholiday.Contains(e.Day.Date))
{
e.Day.IsSelectable = false;
e.Cell.BackColor = System.Drawing.Color.Blue;
e.Cell.ForeColor = System.Drawing.Color.White;
}
List<DateTime> newList = (List<DateTime>)ViewState["HolidaysList"];
if (newList.Contains(e.Day.Date)) //&& _lstholiday.Contains(e.Day.Date))
{
e.Day.IsSelectable = false;
e.Cell.BackColor = System.Drawing.Color.Orange;
e.Cell.ForeColor = System.Drawing.Color.White;
}
if (Convert.ToDecimal(ViewState["WorkingDays"]) == Convert.ToDecimal(22))
{
if (e.Day.Date.DayOfWeek == DayOfWeek.Saturday)
{
e.Day.IsSelectable = false;
e.Cell.BackColor = System.Drawing.Color.Blue;
e.Cell.ForeColor = System.Drawing.Color.White;
}
}
if (e.Day.IsSelected == true)
{
list.Add(e.Day.Date);
}
Session["SelectedDates"] = list;
if (e.Day.IsSelected == true)
{
if (Session["SelectedDates"] != null)
{
List<DateTime> _newList = (List<DateTime>)Session["SelectedDates"];
foreach (DateTime datecalendar1 in _newList)
{
//if (_newList.Contains(e.Day.Date))
//{
// //calendar.SelectedDates.Remove(e.Day.Date);
//}
//else
// list.Add(e.Day.Date);
if (datecalendar1.Date != calendar.SelectedDate.Date)
{
if (datecalendar1.Month == calendar.SelectedDate.Date.Month && datecalendar1.Year == calendar.SelectedDate.Date.Year)
{
int CurrentMonth = calendar.SelectedDate.Month;
int CurrentYear = calendar.SelectedDate.Year;
// Set the start and end dates.
DateTime BeginDate = new DateTime(CurrentYear, CurrentMonth, Convert.ToInt32(calendar.SelectedDate.Day));
DateTime EndDate = new DateTime(CurrentYear, CurrentMonth,Convert.ToInt32(datecalendar1.Date.Day) );
// Clear any selected dates.
//calendar.SelectedDates.Clear();
// Select the specified range of dates.
calendar.SelectedDates.SelectRange(BeginDate, EndDate);
for (BeginDate = BeginDate.Date; BeginDate <= EndDate; BeginDate.AddDays(1))
{
list.Add(BeginDate);
}
}
}
}
}
else
list.Add(e.Day.Date);
}
Session["SelectedDates"] = list;
}
protected void Calendar_SelectionChanged(object sender, EventArgs e)
{
if (Session["SelectedDates"] != null)
{
List<DateTime> newList = (List<DateTime>)Session["SelectedDates"];
foreach (DateTime dt in newList)
{
calendar.SelectedDates.Add(dt);
calendar.SelectedDates.Contains(calendar.SelectedDate.Date);
}
list.Clear();
}
}
````
````
protected void btn_save_Click_Calendar(object sender, EventArgs e)
{
try
{
List<DateTime> list = (List<DateTime>)Session["SelectedDates"];
foreach (var item in list)
{
Dates.Add(new XElement("dt", new XAttribute("d", DateTime.Parse(item.ToShortDateString(), new CultureInfo("en-GB")))));
}
util._db.Ins_Leaveplanning(Convert.ToInt32(Session["empId"]),Dates.ToString());
util.ShowMessage(util.Saved, util.MessageType.Success);
}