2016-10-06 2 views
1

アイテムのリストを提示するタイププロパティのアイテムベースのイメージを変更したいと思います。 これはコードです:ASPXレンダリングエンジンを使用したASP.NET MVC4:src属性を動的に入力してください

<img src="<%if (item.VolumeType == 1) 
           Url.Content(String.Format("../../Images/DVDDisk.png")); 
          else 
           Url.Content(String.Format("../../Images/harddisk.png")); %>" height="32" width="32" /> 

しかし、私は見つけるのhtmlを検査するため、任意の画像が表示されます。

が間違って何
<img src="" height="32" width="32"> 

? MVCエンジンでASPXを使用するのが有効かどうか、またはそれが誤った実行であり、最良のRazorであるかどうかはまだわかりません。

ありがとうございました!

+0

をここではありませんレイザー@adiga '' adiga

+0

を試してみてください:) –

+0

@AntonGogolevは適切に質問を読んでいません。タグを見て、それが欠落していると仮定した()括弧 – adiga

答えて

0

あなたはなく、インラインifとインライン式ブロック(<%=)ではなく、インラインコードブロック(<%)よりも、条件演算子(?:)を使用する必要があります。次はあなたが後にしている何をすべき:それは価値がある何のため

<img src="<%= item.VolumeType == 1 ? 
    Url.Content(String.Format("../../Images/DVDDisk.png")) : 
    Url.Content(String.Format("../../Images/harddisk.png")) %>" height="32" width="32" /> 

、ファイル名をouptuするstring.Format呼び出しを(彼らは要求されないよう)を除去またはstring.Formatを利用して上記を簡素化することができ重複Url.Contentコール除去する:

<img src="<%= Url.Content(String.Format("../../Images/{0}.png", item.VolumeType == 1 ? "DVDDisk" : "harddisk")) %>" height="32" width="32" /> 
関連する問題