根据db值在转发器中动态更改标签forecolor

时间:2012-08-22 08:49:24

标签: c# asp.net sql-server

我有一个从数据库返回的字符串值。值始终为“红色”或“绿色”。我试图根据此字符串值更改我的转发器中的标签的前景色。如果值为“红色”,则标签的前景色应为红色,反之亦然。

我尝试在我的asp页面中使用此代码:

 ForeColor='<%# Eval("Color")%>'

然而我得到了流动的错误:

Specified cast is not valid.

我之前遇到过类似的问题,试图动态设置图像的宽度并最终像这样投出值:

<asp:Image 
  ID="Image1" 
  runat="server" 
  Width='<%# System.Web.UI.WebControls.Unit.Parse(Eval("ImageSize").ToString()) %>'
  ImageUrl="~/Images/ProgressBar.jpg"/>

问题是我如何使用与系统颜色相同的技术?

由于 Ĵ

2 个答案:

答案 0 :(得分:7)

ForeColor需要Color个对象而不是字符串。

所以你可以使用ColorTranslator.FromHtml

 ForeColor='<%# Drawing.ColorTranslator.FromHtml(Eval("Color").ToString())%>'

答案 1 :(得分:2)

尝试

 style='color:<%# Eval("Color")%>' 

代替