预加载/ AJAX - 最好的方法?

时间:2011-11-03 11:25:51

标签: asp.net .net ajax

我正在构建一个包含大量图像的投资组合页面。我从数据库中提取图像URL,并从原始源创建缩略图,并显示缩略图。单击时,显示原始完整大小的图片。

加载时间受到明显影响,网站需要一些时间才能显示任何内容......

我已经尝试将所有这些放在Ajax中,但似乎ajax只有在网站最初加载时才有效。就像现在一样,该网站在等待表格工作完成时“挂起”。

任何关于将“请等待ia​​mges laod”部分放入容器中以显示eamges的想法?

提前致谢。

1 个答案:

答案 0 :(得分:2)

通常,您会创建一个HTTP处理程序,您的页面会将图像ID发送到

<img src="image-handler.ashx?id=SOME_ID" alt="..." />

此处的性能关键是您可以缓存此处理程序中的图像。您可以将生成的缩略图保存到磁盘并检查是否存在,如果然后使用Response.TransferFile()之类的内容发送文件(或者在创建图像时实际创建缩略图文件,而不是加载它们),或者更好,请申请处理程序上的输出缓存,由id键的参数变化。

对于完整图像,您也可以使用相同的技术。此外,您还可以在点击缩略图之前通过AJAX设置一些隐藏的图像,因此,当点击缩略图并需要显示完整图像时,它们已准备就绪。

根据我从问题中得到的详细信息,这些只是高级别的想法。