我将任务存储在数据库中。每个任务都可以解决或打开,因此我在数据库中创建了一个包含isSolved
或true
的列false
,具体取决于状态。
现在,我想显示所有任务的列表,并将已解决任务的行的背景颜色设置为绿色,将未解决的任务设置为红色。但是如何才能在.cshtml
文件中实现这一点?
答案 0 :(得分:6)
您可以使用@()
在视图中执行条件检查。
<ul>
@foreach(var task in Model) // Model is your list of tasks
{
<li class="@(task.isSolved ? "solved" : "unsolved")">@task.Description</li>
}
<ul>
<强> CSS 强>
li.solved
{
color: green;
}
li.unsolved
{
color: red;
}
答案 1 :(得分:4)
根据状态为每个元素添加一个类。假设您正在呈现主VM中的TaskVM
列表(我使用ul
标记,但它适用于任何其他标记):
<ul>
@foreach(var task in Model.Tasks)
{
<li class="@task.Color" >text</li>
}
<ul>
您的TaskVM.Color
属性类似
public string Color
{
get { return isSolved ? "Green" : "Red"; }
}
当然,你有一条css规则:
.Green {
background-color:#33CC00;
}
.Red {
background-color:#FF333;
}