我想使用下面的技术更改数据列表中字段的前景色。但我不确定如何调用方法,与Eval结合使用。
此代码创建错误:'_Default.RowColor(string)'的最佳重载方法匹配具有一些无效参数
ASPX
<ItemTemplate>
<a href='<%# "http://cc.lookup.aspx?Quotenum=" + Eval("quote") %>'>
<asp:Label ID="Label2" runat="server" ForeColor='<%# RowColor(Eval("status")) %>' Text='<%# Bind("quote") %>'></asp:Label>
</a>
</ItemTemplate>
C#
public System.Drawing.Color RowColor(string rowType)
{
System.Drawing.Color retval = System.Drawing.Color.Black;
if (rowType == "Quote") retval = System.Drawing.Color.Gray;
return retval;
}
答案 0 :(得分:2)
您需要将其转换或转换为字符串。因为您的public System.Drawing.Color RowColor(string rowType)
方法需要string
类型参数。
试试这个。
ForeColor='<%# RowColor(Eval("status").ToString()) %>'
或
ForeColor='<%# RowColor((string) Eval("status")) %>'
答案 1 :(得分:2)
您需要将Eval("Status")
转换为字符串。
'<%# RowColor(Eval("Status").ToString()) %>'