タスクをデータベースに保存しています。各タスクは、解決またはオープンできるので、ステータスに応じて、DB にまたはをisSolved
含む列を作成しました。true
false
ここで、すべてのタスクのリストを表示し、行の背景色を解決済みのタスクの行の背景色を緑に、未解決のタスクの行の背景色を赤に設定したいと考えています。.cshtml
しかし、ファイル内でこれをどのように実現できますか?
タスクをデータベースに保存しています。各タスクは、解決またはオープンできるので、ステータスに応じて、DB にまたはをisSolved
含む列を作成しました。true
false
ここで、すべてのタスクのリストを表示し、行の背景色を解決済みのタスクの行の背景色を緑に、未解決のタスクの行の背景色を赤に設定したいと考えています。.cshtml
しかし、ファイル内でこれをどのように実現できますか?
を使用し@()
て、ビュー内で条件付きチェックを実行できます。
<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;
}
ステータスに応じて各要素にクラスを追加します。TaskVM
メイン VM にあるリストをレンダリングしていると仮定します(タグを使用します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;
}