从控制器加载时,图像预加载不起作用

时间:2012-01-02 19:09:10

标签: javascript image asp.net-mvc-3

所以我有一个照片库。它工作得很好,但是,图像没有正确预加载。我正在运行带有剃刀标签的asp.net 4 c#mvc3服务器。我已经阅读了几个不同的想法,为什么会发生这种情况,但目前我自己无法解决这个问题。 以下是图像的构建方式:

<img src="/ActionLibrary/GetPhoto/53" onmouseover="display(this);" />
<img src="/ActionLibrary/GetPhoto/55" id="picTarget">

以下是调用它的方式:

function display(imgObject){
  document.getElementById("picTarget").src = imgObject.src;
}

这是我的控制器:

        // GET: /Browse/GetPhoto/id
    public ActionResult GetPhoto(int id)
    {

    }

图片显示正常,并且已呈现 - 但是,唯一的问题是每次重新加载。

任何想法都将不胜感激。我不确定为什么图像不断重新加载。谢谢!

1 个答案:

答案 0 :(得分:0)

正如epignosisx指出的那样,图像不是被要求缓存的,所以它们不是,反过来每个引用都引起了服务器请求。修复很简单......

// GET: /Browse/GetPhoto/id
[OutputCache(Duration=600)]
public ActionResult GetPhoto(int id)
{
...

这将使照片在客户端缓存中保留10分钟(600秒= 10米)。