Попробуйте что-то вроде этого.
<table>
<tr>
<th></th>
@for (int i = 9; i <= 17; i++)
{
<th>@i:00</th>
}
</tr>
@{ List<MyLibrary.MyRoomOccupancy> RoomBookingsTemp = ViewBag.RoomBookings;}
@foreach (var RoomNo in ViewBag.Rooms)
{
<tr>
<th>@RoomNo</th>
@for (int i = 9; i <= 17; i++)
{
DateTime DateCheckStart = DateTime.Parse(ViewBag.Date.ToShortDateString() + " " + i.ToString() + ":00");
DateTime DateCheckEnd = DateTime.Parse(ViewBag.Date.ToShortDateString() + " " + i.ToString() + ":59");
var sublist = (from RoomOcc in RoomBookingsTemp where DateCheckStart < RoomOcc.EndDateTime && DateCheckEnd > RoomOcc.StartDateTime && RoomOcc.RoomNo == RoomNo select RoomOcc);
if (sublist.Count() > 0)
{
@Html.Raw("<td class= \"bgred\">");
}
else {
Html.Raw("<td>");
}
foreach (var roombooking in sublist)
{
if (DateCheckStart < roombooking.EndDateTime && DateCheckEnd > roombooking.StartDateTime && roombooking.RoomNo == RoomNo)
{
@roombooking.RentalNo
}
}
@Html.Raw("</td>");
}
</tr>
}
</table>
То, что это делает, это проходит через только он