2012-10-05 114 views
1

我是數據綁定的GridView,其中一列定義如下。我想要做的是根據文字是「是」還是「否」來給文字着色。如果文字是「是」,我想將其設置爲紅色,否則將其設置爲綠色。這可以做到,如果是這樣應該通過CSS來完成,或者我可以添加一些代碼到線?設置基於文本的asp:標籤文本顏色

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

回答

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;} 
+1

不應該是<%#SetColor而不是<%= SetColor? – jbl

+0

給出錯誤「The name'Bind'在當前上下文中不存在」:( – Retrocoder

+0

@jbl對呀 –

相關問題