我正在像这样将列表添加到表中
public ActionResult Add( string task , DateTime duedo , DateTime time)
{
Task.Add(new Tasks { descripiton = task, duedo = duedo, time = DateTime.Now });
Task.Sort((x, y) => DateTime.Compare(x.duedo, y.duedo));
return RedirectToAction("Index");
}
我正在用html显示表单
<tbody>
@foreach (var task in Model)
{
<tr>
<td>
@task.time
</td>
<td>
@task.descripiton
</td>
<td id="time">
@task.duedo
</td>
</tr>
}
</tbody>
问题是当Duedo日期即将到来或当前时间超过当前时间时,我该如何制作一个能够更改表行颜色的函数。 例如,如果Duedo时间/日期在1小时之内,则表格行将变为红色。
答案 0 :(得分:1)
将class属性添加到您的行中,然后根据您的条件进行填充:
<tr class="@(task.duedo >= DateTime.Now.AddHours(-1) ? "due-in-one-hour" : task.duedo >= DateTime.Now ? "overdue" : "")">
然后,只需在样式表中定义类。为了保持代码的可读性/可管理性,建议将类名称的计算结果放入Razor文件的辅助函数中。