我正在从数据库中检索一些日期并将它们保存在List ListDates中(将这段代码保留下来但是我试图解决问题不应该有任何问题。)
日历会突出显示会议安排的所有日期。
用户从ASP .Net日历控件中选择日期。
在DayRender活动中,我有以下代码
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
if (ListDates != null )
{
if (ListDates.Contains(e.Day.Date))
{
e.Cell.CssClass = "highlight";
}
if (ListDates.Contains(Calendar1.SelectedDate))
{
e.Cell.CssClass = "newHighlight";
}
}
}
因此,在页面加载时,我会从数据库中获取日期列表,并在日历控件中突出显示它们(因此用户知道那些日子有会议)。这样做的代码是
if (ListDates.Contains(e.Day.Date))
{
e.Cell.CssClass = "highlight";
}
我遇到的问题是当用户选择会议发生的日期时(因此此日期已应用css类highlight
),它默认为控件颜色。
出于这个原因,我决定添加一个newHighlight
css类,这样当用户选择会议安排的日期时,我想给它一个新的Css类({{1 }})。
要解决此问题,我添加了此代码
newHighlight
我遇到的问题是选择会议的日期会突出显示每个单元格(整个日历)而不仅仅是用户选择的一个单元格(当天还有会议)?
答案 0 :(得分:1)
您可能只需要在第二个if
中添加一个支票:
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
if (ListDates != null )
{
if (ListDates.Contains(e.Day.Date))
{
e.Cell.CssClass = "highlight";
}
if (ListDates.Contains(Calendar1.SelectedDate) && e.Day.Date == Calendar1.SelectedDate)
{
e.Cell.CssClass = "newHighlight";
}
}
}