2

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

我尝试在我的 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"/>

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

4

2 回答 2

7

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

所以你可以使用ColorTranslator.FromHtml

 ForeColor='<%# Drawing.ColorTranslator.FromHtml(Eval("Color").ToString())%>'
于 2012-08-22T08:53:19.430 回答
2

尝试

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

反而

于 2012-08-22T08:52:30.923 回答