两个问题我的时间表代码的一部分:
如何防止通过时间有循环,然后roombookings检查它是否存在于给定的时隙中。有没有一种方法只是说“现在这个列表中有匹配项,它的ID是什么”
是否有反正我可以设置外部td到班级bgred,而不是一个跨度。 (请注意,有可能是一个时隙中的多个订单,因此具有TD走出foreach循环。)
<tr>
<th></th>
@for (int i = 9; i <= 17; i++)
{
<th>@i:00</th>
}
</tr>
@foreach (var RoomNo in ViewBag.Rooms)
{
<tr>
<th>@RoomNo</th>
@for (int i = 9; i <= 17; i++)
{
<td>
@foreach (var roombooking in ViewBag.RoomBookings)
{
DateTime DateCheckStart = DateTime.Parse(ViewBag.Date.ToShortDateString() + " " + i.ToString() + ":00");
DateTime DateCheckEnd = DateTime.Parse(ViewBag.Date.ToShortDateString() + " " + i.ToString() + ":59");
if (DateCheckStart < roombooking.EndDateTime && DateCheckEnd > roombooking.StartDateTime && roombooking.RoomNo == RoomNo)
{
<span class="bgred"> @roombooking.RentalNo</span>
}
}
</td>
}
</tr>
}
OOO。 TH不删除for,但它基本上做了类似的事情,我不必循环整个数据列表。因此显着减少计算!它解决了td课程的问题! Genious我的朋友!感谢那。您的描述缺失。 :) – Doomsknight
你的代码在MVC3环境中不起作用。使用这个概念我试图创造相同的效果。 – Doomsknight
对不起,我没有测试它,我只是大部分猜测。我会让你修复我的语法错误:P –