Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为图像库页面加载图像的最有效方法_C#_Asp.net Mvc_Image Gallery - Fatal编程技术网

C# 为图像库页面加载图像的最有效方法

C# 为图像库页面加载图像的最有效方法,c#,asp.net-mvc,image-gallery,C#,Asp.net Mvc,Image Gallery,我正在从事一个asp.NETMVC项目,其中包括一个带有图像厨房的页面。页面将加载一个主中等大小的图像和12个缩略图。如果用户单击缩略图,图像将显示在“中等大小图像”分区中。如果用户单击中等大小图像,则会在弹出窗口中打开较大大小的图像。该页面可能需要36幅图像(12倍缩略图、12倍中号、12倍大号)。我想知道从逻辑上来说,加载三个大小的图像最有效的方式(性能与用户体验)是什么 在初始页面加载时,我是否将页面上需要的所有三种尺寸的图像都传递给视图 或 我是否只加载初始视图所需的图像,并通过AJAX

我正在从事一个asp.NETMVC项目,其中包括一个带有图像厨房的页面。页面将加载一个主中等大小的图像和12个缩略图。如果用户单击缩略图,图像将显示在“中等大小图像”分区中。如果用户单击中等大小图像,则会在弹出窗口中打开较大大小的图像。该页面可能需要36幅图像(12倍缩略图、12倍中号、12倍大号)。我想知道从逻辑上来说,加载三个大小的图像最有效的方式(性能与用户体验)是什么

  • 在初始页面加载时,我是否将页面上需要的所有三种尺寸的图像都传递给视图
  • 我是否只加载初始视图所需的图像,并通过AJAX“根据需要”检索其他图像

  • 最佳方法通常取决于您的目标和客户的带宽,以及如何向客户收取带宽费用

    如果使用选项一,我建议只在页面呈现之前和之后加载所需的图像,然后通过javascript异步加载其余图像。这样,您就不会减慢可见图像的速度来加载最初不可见的图像

    但加载所有图像(无论是否部分异步)的缺点是,可能需要额外图像带宽成本的移动用户将被迫下载所有图像,即使他们从未使用过大部分图像

    因此,特别是如果你有移动访客,如果选择2通常更具吸引力。唯一的缺点是,当需要一个未加载的图像时,由于必须先下载它,所以显示它需要更长的时间。通常,至少在移动设备上预加载所有图像是可以接受的折衷方案

    但正如我所说,这一切都取决于网站应该优化什么。对于桌面访问者(即非移动用户),最好的体验通常是加载所需的图像,呈现页面,然后异步加载其他图像。这为他们提供了所需图像的快速初始渲染,如果他们以后需要其他图像中的一个,则可以立即显示,因为它是在后台预加载的


    希望这能有所帮助。

    为什么不两种方法都尝试一下,看看哪一种更适合您的用户?因为这个问题确实没有一个客观的“正确”答案。这将取决于许多因素,如带宽、显示器尺寸、其他设计元素、用户期望等。您的回复非常有用,谢谢。将不得不研究加载主页加载后异步加载页面元素,不熟悉这种技术。很高兴能提供帮助。本文可能有助于快速概述: