2011-02-06 14 views
1

2つの画像progress.pngとcompleted.pngがあります。 dbテーブルのステータス(完了の進行中)に応じて、適切なイメージを表示します。 asp.net内のIIF()ステートメントの正しい構文は何ですか?ご協力いただきありがとうございます。Evalを使用した条件付き画像パス

pseudocode: 

<asp:image ImageUrl='<%# IIF(Eval("Status").Equals("In Progress") 
display - 'images/progress.png') 
else if status equals "Complete" 
display - 'images/complete.png' %>' /> 

答えて

1

これは、IIFの構文に関するご質問にはお答えできませんが、画像の表示に関する問題は解決します。

私はむしろ、この使用します。

<asp:image ImageUrl='<%# GetStatusImage(Eval("Status").ToString()) %>' /> 

をし、コードビハインドで次のメソッドを記述します。

public string GetStatusImage(string status) 
{ 
    switch(status) 
     case "In Progress": 
      return "images/progress.png"; 
     break; 
     case "Complete": 
      return "images/complete.png"; 
     break; 
     case default: 
      return string.Empty; 
     break;   
} 
0

行うための最善のことは、右の画像を返すと、このようなコードからメソッドを呼び出すと、パブリックメソッドを作成次のとおりです。

また
<%= GetProgressImage() %> 

をあなたは2つだけを持っている場合、これはうまくいくかもしれません州:

<%= Eval("Status").Equals("Complete") ? "'images/complete.png'" : "'images/progress.png'" %> 
関連する問題