1

我想使用以下技术更改数据列表中字段的前景色。但我不确定如何结合 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;
}
4

2 回答 2

2

您需要将其转换或转换为字符串。因为您的public System.Drawing.Color RowColor(string rowType)方法采用string类型参数。

试试这个。

 ForeColor='<%# RowColor(Eval("status").ToString()) %>' 

或者

ForeColor='<%# RowColor((string) Eval("status")) %>' 
于 2012-05-10T21:08:10.200 回答
2

您需要转换Eval("Status")为字符串。

'<%# RowColor(Eval("Status").ToString()) %>'
于 2012-05-10T21:09:20.180 回答