Cela dépend vraiment de la façon dont vous affichez vos données dans la page du client. Utilisez-vous des formulaires asp.net avec un GridView? Générez-vous le code HTML pour vos données vous-même?
Je vais généralement avec les classes css. Je vais avoir une classe pour les articles marqués d'un indicateur comme celui-ci:
.late
{
color: #f00;
}
Et dans le code derrière, où mon html est généré, si vous créez vous-même le code html:
foreach(Item item in items)
{
string cls = "";
if (item.IsLate)
cls = " class='late'";
html += "<div" + cls + ">" + item.Text + "</div>";
}
Cela créera <div>Item1</div>
pour un article non en retard, et <div class="late">Item2</div>
pour un article en retard. Vous pouvez également avoir une classe pour les objets non-retardés, si vous voulez qu'ils soient stylés d'une certaine manière aussi. Assez facile.
Si les éléments sont du signalement de contrôles serveur, et vous ne créez pas le code html vous-même, vous pouvez attribuer une classe à eux:
if (item1.IsLate)
myTextBox.CssClass = "late";
Si vos données est lié à un GridView, vous peut avoir un gestionnaire d'événements pour RowDataBound
, et faire quelque chose comme ceci:
protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Item item = e.Row.DataItem as Item;
if (item.IsLate)
e.Row.CssClass = "late";
}
}
Vous pouvez également appliquer le style à une cellule individuelle dans le GridView:
// 3rd cell
e.Row.Cells[2].CssClass = "late";
Espérons que l'un d'entre eux correspond à votre scénario.