根据数据库值更改行颜色

时间:2012-07-09 13:17:38

标签: asp.net-mvc

我将任务存储在数据库中。每个任务都可以解决或打开,因此我在数据库中创建了一个包含isSolvedtrue的列false,具体取决于状态。

现在,我想显示所有任务的列表,并将已解决任务的行的背景颜色设置为绿色,将未解决的任务设置为红色。但是如何才能在.cshtml文件中实现这一点?

2 个答案:

答案 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;
}