1

以下の手法を使用して、データリスト内のフィールドの前景色を変更したいと思います。しかし、Eval と組み合わせてメソッドを呼び出す方法がわかりません。

このコードは次のエラーを作成します: The best overloaded method match for '_Default.RowColor(string)' has some invalid arguments

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 に答える