2012-01-02 82 views
0

所以我有一个照片库。它工作得很好,但是,图像不能正确预加载。我正在运行带有剃须刀标签的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

看起来好像你正在请求图像缓存在浏览器中。 – epignosisx 2012-01-02 20:10:08

+0

我该怎么做? – 2012-01-02 20:16:11

+0

epig:你可以请你发表评论作为答案 - 你解决了我的问题,我很乐意给你一些信用。 – 2012-01-02 20:28:15

回答

0

由于epignosisx指出,图像没有被请求缓存,所以他们不是,反过来每个参考引起的服务器请求。修复相当简单...

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

这将导致照片留在客户端缓存10分钟(600s = 10米)。