我有一个 MVC 3 应用程序,我们在 Web 浏览器控件内的手持设备上运行。这些设备运行 CE5 或 CE6。
在 CE5 上请求图像时,图像显示正常,但在 CE 6 上,图像似乎正在下载,但直到单击页面后才真正出现。
一旦发生这种情况,图像就会被缓存(以某种方式),并且可以继续进行该会话。
有没有其他人遇到过这个问题?
这是我能找到的唯一提及该问题但未提及解决方案的其他页面:
编辑:
视图代码如下。Model.DisplayItem 将返回一个字符串,如:
~/Areas/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>
}
示例图像如下: