1

グリッドビューをデータバインディングしています。列の1つは次のように定義されています。私がやりたいのは、テキストが「はい」か「いいえ」かによって、テキストに色を付けることです。テキストが「はい」の場合は赤に設定し、そうでない場合は緑に設定します。これを行うことはできますか?そうであれば、cssを介して行う必要がありますか、それとも行にコードを追加できますか?

<asp:TemplateField HeaderText="Validated" ItemStyle-HorizontalAlign="Center" SortExpression="Product">
    <ItemTemplate>
        <asp:Label ID="lblValidated" runat="server" Text='<%# Bind("Validation") %>' />
    </ItemTemplate>
</asp:TemplateField>
4

1 に答える 1

3

以下はあなたが望むことをするはずです。

ASP.NET

<asp:TemplateField HeaderText="Validated" ItemStyle-HorizontalAlign="Center" SortExpression="Product">
<ItemTemplate>
    <asp:Label ID="lblValidated" runat="server" Text='<%# Bind("Validation") %>' CssClass='<%# SetColor(DataBinder.Eval(Container.DataItem, "Validation")) %>'  />
</ItemTemplate>

C#

public string SetColor(string Text)
{
    return Text.ToUpper == "YES" ? "GreenClass" : "RedClass"
}

CSS

.GreenClass{color:green;}
.RedClass{color:red;}
于 2012-10-05T13:10:24.423 に答える