2012-02-09 54 views
1

我期待在ASP.NET窗体中获得标签的BackColor并使用此值更改此标签的颜色 是否可能?绑定标签的BackColor数据库中的十六进制颜色值

<asp:Label ID="Label2" runat="server" Text="Label" BackColor='<%# System.Drawing.Color.FromName(Eval(Container.DataItem,"BgColor").ToString())%>'></asp:Label> 

谢谢。

+0

你的标题和你的问题似乎不同步。您正试图从数据库中为标签加载“ForeColor”或“BackColor”?存储在数据库中的颜色是什么格式,十六进制或名称? – 2012-02-09 12:23:59

+0

好吧,感谢您的评论,即时通讯对不起,即时通讯寻找BackColor:D,我将它保存为十六进制 – Mido 2012-02-09 12:28:40

回答

4

您应该使用FromHtml:

<%# System.Drawing.ColorTranslator.FromHtml(Eval("BgColor")%> 
+0

thnx它的作品:) – Mido 2012-02-09 13:19:58

1

你可以试试,

<asp:Label 
    ID="Label2" 
    runat="server" 
    Text="Label" 
    BackColor='<%# System.Drawing.Color.FromName(Eval("BgColor").ToString())%>'> 
</asp:Label> 
0

格式是3300FF数据库

'<%# System.Drawing.Color.FromName(Eval("BgColor").ToString())%>' 

但塔标签显示无颜色

+0

你有两个帐户? – 2012-02-09 12:43:20

+0

'System.Drawing.Color'不包含'FromHtml' – 2012-02-09 12:47:43

+0

的定义。我刚刚更新了答案 – 2012-02-09 12:52:08

6

//标签,设置通过HEXACOLOR

lblResult.ForeColor = System.Drawing.ColorTranslator.FromHtml("#E93301"); 

//标签前景色,按颜色名称设置前景色

lblResult.ForeColor = System.Drawing.Color.Red; 
0

你应该使用ColorHex像:#602A4D 而没有使用的ToString()来验证码:

BackColor='<%# System.Drawing.Color.FromName(Eval("BgColor"))%>'>