2016-12-05 3 views
0

私がやっていることはかなり簡単です。アイデアは、チェックされているEvalの値に基づいて色を設定するインラインクエリを使用して、ForeColorプロパティを使用してリンクボタンのテキストの色を設定することです。今のように(以下のコードを参照)、単純なバイナリのif/elseインラインクエリとして、2つの色に対して正常に動作します。問題は基本的には、オプションを追加したり、インラインクエリをネストして、選択肢を増やす(10回撮影する)ことができるようにする方法を見つけ出したいと思っています。データベースから取得したEvalデータに基づいて、ForeColorプロパティを使用して起動時にリンクボタンの色を設定します。ASP.net/C#

問題のリンクボタンはリピータの内側にあり、範囲外であるため、メソッドでこれを行うことができます。これは、理想的には私がやりたいことでした。

<asp:LinkButton ID="lblFromUser" Text='<%# Eval("fromuser") %>' CommandArgument='<%#Eval("id")%>' OnCommand="test" ForeColor='<%# ((Eval("sendertype").Equals("Admin")) || Eval("sendertype").Equals("Moderator")) ? System.Drawing.Color.Orange : System.Drawing.Color.DarkTurquoise %>' Font-Underline="false" Font-Size="small" runat="server" /> 

答えて

0

あなたの項目タイプのパラメータを使用すると背後にあるコードに対して関数の作成について、色を返す方法:とにかく、ここで私が働いている、と問題になっている言語がASP.net/C#あるコードはありますか?

は.csファイル:

Protected System.Drawing.Color generateColor(ItemType input) 
{ 
    ((Eval("sendertype").Equals("Admin")) || Eval("sendertype").Equals("Moderator")) ? System.Drawing.Color.Orange : System.Drawing.Color.DarkTurquoise 
} 

マークアップ・ページ:このような

<asp:LinkButton ID="lblFromUser" Text='<%# Eval("fromuser") %>' CommandArgument='<%#Eval("id")%>' OnCommand="test" ForeColor='<%# generateColor((ItemType)Container.DataItem))%>' Font-Underline="false" Font-Size="small" runat="server" /> 
+0

私は残念ながらそれが機能しなかった、ということを試みました。私は同じ問題で終わってしまったとしても、私が始めたのは、 – Rhodes

+0

ああ、エラーメッセージは何ですか? – User2012384

関連する問題