我遇到了asp日历的以下问题。
目前,我可以在1个月内选择范围内的多个日期(我已设定)。但是,如果我的范围在2个月(跨月)之内,我将无法获得正确的选定日期。
在2个月内:
如果我的日历显示在第1个月,我仍然可以获得2个月的日期,但可能在第2个月有重复日期。
如果我的日历显示在第2个月,我只能从第2个月开始。
对上述问题有何建议?在此先感谢〜=)
protected void CalendarMain_DayRender(object sender, DayRenderEventArgs e)
{
DateTime minDate, maxDate;
if (!tbStartDate.Text.Equals("") && !tbEndDate.Text.Equals(""))
{
minDate = Convert.ToDateTime(tbStartDate.Text);
maxDate = Convert.ToDateTime(tbEndDate.Text);
if (e.Day.Date < minDate || e.Day.Date > maxDate)
{
e.Day.IsSelectable = false;
}
if (e.Day.Date >= minDate && e.Day.Date.Date <= maxDate)
{
e.Cell.BackColor = Color.FromName("#3f97ab");
}
}
DataTable dtgv = Session["dtSelectedDateData"] as DataTable;
if (dtgv != null)
{
foreach (DataRow drr in dtgv.Rows)
{
string DateValue = drr["Time_Start"].ToString();
if (e.Day.Date.ToString("dd/MM/yyyy") == DateValue.Substring(0, 10))
{
e.Cell.ForeColor = System.Drawing.Color.Pink;
e.Day.IsSelectable = false;
}
}
}
if (e.Day.IsSelected == true)
{
PatientsSchedule.listDatetime.Add(e.Day.Date);
}
Session["SelectedDate"] = PatientsSchedule.listDatetime;
}
public static List<DateTime> listDatetime = new List<DateTime>();
答案 0 :(得分:0)
我已经解决了我的问题。这是诀窍,我添加了一个新的List&lt;&gt;在我的类文件和日历SelectionChanged下的条件语句中。因此它将捕获每次点击的价值。