我正在尝试处理结果以更改日期在ASP.NET页面的压缩程序上的显示方式。我想要它,以便如果在特定日期进行“预订”,那么它将在日历上显示为红色高亮度单元格。 问题是我只能设法让它做一次,它会突出显示一个单元格,然后不会移动到下一个“BookingDate”。
以下是代码:
conn.Open();
Reader = command.ExecuteReader();
if (Reader.Read())
{
String BookingDate = Reader.GetValue(0).ToString();
String Username = Reader.GetValue(1).ToString();
String Client = Reader.GetValue(2).ToString();
Reader.Close();
conn.Close();
String[] bookingDetails = new String[3];
bookingDetails[0] = BookingDate;
bookingDetails[1] = Username;
bookingDetails[2] = Client;
DateTime BookingDateShort = Convert.ToDateTime(BookingDate);
DateTime CalanderDate = Convert.ToDateTime(e.Day.Date);
for (int i = 0; i < GetDaysinMonth(); i++)
{
if (CalanderDate.ToShortDateString().Equals(BookingDateShort.ToShortDateString()))
{
e.Cell.BackColor = System.Drawing.Color.Red;
e.Cell.ToolTip = "Username: " + Username + " | Client: " + Client + "";
}
}
}
我知道我需要做一些循环,让它递归地遍历每个日期的处理,将它与预订日期进行比较并检查它们是否相等。但是它仅在一个预订日期进行。
有没有人知道如何解决这个问题?
非常感谢
答案 0 :(得分:0)
当你正在阅读时......你期待更多的结果或只是一个......?是这样你需要改变你的if读取更改为While循环
所以你的while循环看起来像这样
while (reader.Read())
{
//do your processing here to check the Calendar stuff
}