根据文本设置asp:标签文本颜色

时间:2012-10-05 12:55:22

标签: c# asp.net css data-binding

我正在对gridview进行数据绑定,其中一列定义如下所示。我想要做的是根据文本是“是”还是“否”来为文本着色。如果文本为“是”,我想将其设置为红色,否则将其设置为绿色。可以这样做,如果是这样,应该通过css完成,还是可以在线上添加一些代码?

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

1 个答案:

答案 0 :(得分: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;}