Web ブラウザー コントロール内のハンドヘルドで実行する MVC 3 アプリケーションがあります。デバイスは CE5 または CE6 を実行します。
CE5 で画像が要求されると、画像は正常に表示されますが、CE 6 では画像がダウンロードされたように見えますが、ページがクリックされるまで実際には表示されません。
これが発生すると、イメージは (どういうわけか) キャッシュされ、そのセッションではうまくいきます。
他の誰かがこの問題に遭遇しましたか?
これは、問題について言及している唯一の他のページですが、解決策については言及されていません。
編集:
ビューコードは以下です。Model.DisplayItem は次のような文字列を返します。
~/エリア/R2D2Picking/Content/images/M00119.jpg
実際のイメージは (ソリューションの一部ではなく) 別のドライブにあるため、ソリューションにフォルダー構造を作成し、これをビルドから除外し、IIS の関連するルートの下に仮想ディレクトリを作成して、これらにアクセスします。多くのアプリケーションでこの方法を使用しているため、これ自体が問題になるとは思いません。
@using R2D2Picking.Models.ViewModels;
@using System.IO;
@using System.Net;
@model ItemImageVM
<div class='backImage'>
<a href="@Url.Action("PickSelectedItems", "Common")" onfocus="if(this.blur)this.blur()">
<img alt='' src="@Url.Content("~/Areas/R2D2Picking/Content/ButtonImages/BackButton.bmp")" /></a>
</div>
<div class='smallPrompt'>
<p>@Model.DisplayLiteral</p>
</div>
@if (Model.ImageExists())
{
<div class='itemImage'>
<a href="@Url.Action("PickSelectedItems", "Common")">
<img alt='' src="@Url.Content(@Model.DisplayItem)" /></a>
</div>
}
else
{
<div class='noImage'>
<a href="@Url.Action("PickSelectedItems", "Common")">
<img alt='' src="@Url.Content("~/Areas/R2D2Picking/Content/ButtonImages/no_picture.bmp")" /></a>
</div>
}
サンプル画像は次のとおりです。