问题描述
我在数据库中存有字体颜色的值,例如:#FF6600,可我动态设置字体颜色时,程序老出错:System.InvalidCastException:指定的转换无效。我的代码如下:<asp:HyperLinkID="HyperLink1"runat="server"Target="_blank"NavigateUrl='<%#"~/info.aspx?UserId="+Eval("TitleId")%>'Text='<%#Eval("Title")%>'ForeColor='<%#Eval("TitleColour")%>'></asp:HyperLink>这是什么原因啊?
解决方案
解决方案二:
HyperLink1.ForeColor=System.Drawing.Color.Red;
解决方案三:
可以写成函数转换一下
解决方案四:
不明白楼上所说的。。
解决方案五:
你把ForeColor直接等于了一个字符串我猜这里应该取GDI+里的颜色赋值给ForeColor
解决方案六:
除了楼上之外其他都是扯谈你搞一个hyperLink设置自定义颜色,发现其实是HtmlColor如ForeColor="#4ED8E2"而后台Eval("TitleColour")TitleColor是.NetSystem.Drawing.Color示例么?TitleColor.ToString()生成的就是字符串如Color[Red]两者不是一个东西,可以这样转换:System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color)可以对Eval进行处理加一个函数stringf(string){returnSystem.Drawing.ColorTranslator.ToHtml(System.Drawing.Color.From..()).tostring();}相关见:http://www.cnblogs.com/calmzeal/archive/2007/07/29/835393.html
解决方案七:
试试ForeColor='<%#setColor("Red")%>'
protectedColorsetColor(stringcolorString){ColorreturnC=Color.FromName(colorString);returnreturnC;}