1

我正在对 gridview 进行数据绑定,其中一列的定义如下所示。我想做的是根据文本是“是”还是“否”来为文本着色。如果文本为“是”,我想将其设置为红色,否则将其设置为绿色。可以这样做吗?如果可以,应该通过 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 回答