2016-10-21 9 views
1

if/elseロジック内でwebgrid内に画像を読み込もうとしています。偽のショーは、他の画像は、しかし、私が今使っているコードの場合、APIは真のショー1の画像を返す基本的にあれば - 各画像によって返されるURLとして意図したとおりにC#コード内に画像を追加する(MVC4)

columns: grid.Columns(
     grid.Column("PowerState", format: (vm) => 
     { 
      if (vm.PowerState == "Stopped") //Choose font colour depending on the status of the VM 
      { 
       return new HtmlString("<img src =&quot;~/Content/offstate.png&quot;>"); 
      } 

      else 
      { 
       return new HtmlString("<img src =~/Content/onstate.png>"); 
      } 
     }), 

が動作していない」https://localhost:44300/~/Content/onstate.pnghttps://localhost:44300/ですそれぞれ〜/コンテンツ/ offstate.png」 私がしたいことはhttps://localhost:44300/Content/offstate.png

がある(〜/は苛立ちのうち、削除しようとしましたが、これは念の誰かにhttps://localhost:44300/Home/Content/onstate.pngを返しますが、そのアイデアを持っています。)

EDITを:解決策はUrl.Contを使用することです機能はそのままです

return new HtmlString("<img src = " + Url.Content("~/Content/offstate.png") + ">"); 

Ashokが提案したように!

答えて

1

現在のページに関係なく、常にそのイメージへの相対パスが必要です。このような場合、@ Url.Content(...)が必要です。

why use @Url.Contentトピックを参照し、パスを提供する代わりに。 @ Url.Contentからパスを取得し、htmlに参加します。

+0

この機能に感謝してくれてありがとう! –

関連する問題