2017-07-12 12 views
0

を使用すると、壊れたイメージをレンダリングします。Visual Studio 2015 update 3およびASP.Net Core 1.1プロジェクトを使用します。asp-append-versionは、@

私はasp-append-versionで動作する以下の簡単なイメージコードを持っています。

<img src="~/images/Tulips.jpg" asp-append-version="true" /> 

ブラウザのビューソースは、?v = versionでレンダリングされます。そして画像が表示されます。

<img src="/images/Tulips.jpg?v=uTUvJWUmAhnbcvwfyJYROibIWGa2nFDTlwxNn1zOgwo" /> 

今しかし、ブラウザビューのソースの代わりに "Microsoft.AspNetCore.Mvc.ViewFeatures.StringHtmlContent" をレンダリングHTML.DisplayFor

<img src="~/images/[email protected](modelItem => item.ProductNAME)_picture.png" asp-append-version="true" /> 

@ C#コードを使用して、ダイナミックイメージ名を作成します期待される画像名「Tulips_NAME_picture.png」と壊れた画像アイコンを与える。

<img src="/images/Tulips_Microsoft.AspNetCore.Mvc.ViewFeatures.StringHtmlContent_picture.png"> 

どうすればよいですか?私は何か助けていただければ幸いです。

また
<img src="~/images/[email protected]_picture.png" asp-append-version="true" /> 

、このためにヘルパーメソッドを作成します:

public static string GetProductImage(Product product) 
{ 
    return $"~/images/Tulips_{product.ProductNAME}_picture.png"; 
} 

答えて

2

Html.DisplayForは何を使用すべきことは、単に@item.ProductNAMEあり、それらを作成するための要素の内部ではなく、使用することを想定されていませんこれを次のように使用してください:

<img src="@SomeClass.GetProductImage(item)" asp-append-version="true" /> 
+0

@ Camilo-Terevintoありがとうございます!それは完璧に働いた! – cmill

+0

@millillはうまくいきました。答えとしてupvote /マークすることを忘れないでください:) –

+0

私はそれを緑のチェックに答えましたが、アップヴォートは私の評判が表示するには低すぎると言いました。しかし、それは記録されていると言いました。 (ここに新しい)注意してください! – cmill