2012-07-23 25 views
3

我有一個網格視圖,我試圖從包含HTML代碼的數據庫字符串中設置前景色。我試過這個:通過asp.net中的html代碼設置forecolor

<asp:TemplateField HeaderText="Validation"> 
           <ItemTemplate> 
            <asp:Label ID="lblValidationItem" runat="server" ToolTip="Type of validation." 
             Text='<%# DataBinder.Eval(Container, "DataItem.ValidationItem") %>' Font-Bold="true" ForeColor='<%# System.Drawing.ColorTranslator.FromHtml(Eval("HTMLColor")) %>'></asp:Label> 
           </ItemTemplate> 
           <FooterStyle HorizontalAlign="Center" /> 
           <HeaderStyle HorizontalAlign="Center" /> 
           <ItemStyle HorizontalAlign="Center" /> 
          </asp:TemplateField> 

但它說FromHtml有一些無效的參數?

+0

正如數據庫中的FYI HTMLCOlor包含類似'#FFFFFF'的字符串一樣。 – oJM86o 2012-07-23 20:02:40

+0

HTMLColor如何存儲在數據庫中?在翻譯之前它看起來像什麼?您可能需要在數據綁定之前將其轉換爲適當的格式。 – dave823 2012-07-23 20:11:17

回答

2

Eval返回一個「Object」。您需要將其轉換爲字符串:

<ItemTemplate> 
    <asp:Label ID="lblValidationItem" runat="server" ToolTip="Type of validation." 
             Text='<%# Eval("DataItem.ValidationItem") %>' Font-Bold="true" ForeColor='<%# System.Drawing.ColorTranslator.FromHtml((string)Eval("HTMLColor")) %>'></asp:Label> 
</ItemTemplate> 
相關問題