在CE 6上的Web浏览器控件中托管的MVC 3应用程序无法正确显示图像

时间:2013-01-10 17:08:39

标签: c# asp.net-mvc-3 compact-framework

我有一个MVC 3应用程序,我们在Web浏览器控件中的手持设备上运行。设备运行CE5或CE6。

在CE5上请求图像时,图像显示正常,但在CE 6上图像似乎下载但实际上不会显示,直到单击该页面。

一旦发生这种情况,图像就会被缓存(不知何故)并且该会话很好。

还有其他人遇到过这个问题吗?

这是我能找到的唯一提到问题的其他页面,但没有提到解决方案:

http://social.msdn.microsoft.com/Forums/en-US/vssmartdevicesvbcs/thread/0396d869-2ac2-4d38-8565-2d308eb8573a/

修改

视图代码如下。 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>
}

示例图片如下:

enter image description here

0 个答案:

没有答案