我有一个MVC 3应用程序,我们在Web浏览器控件中的手持设备上运行。设备运行CE5或CE6。
在CE5上请求图像时,图像显示正常,但在CE 6上图像似乎下载但实际上不会显示,直到单击该页面。
一旦发生这种情况,图像就会被缓存(不知何故)并且该会话很好。
还有其他人遇到过这个问题吗?
这是我能找到的唯一提到问题的其他页面,但没有提到解决方案:
修改
视图代码如下。 Model.DisplayItem将返回一个字符串,如:
〜/地区/ R2D2Picking /内容/图像/ 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>
}
示例图片如下: