在我的asp.net应用程序中有一个数据列表,页面加载事件我必须绑定多个图片项(1000个),如何应用按需加载(可以说是懒加载图片)(当滚动页面的时候只需要绑定像facebook这样的新需求页面)
基本上,我不希望页面加载延迟,因为没有图像和他们的加载时间。我的代码是页面加载事件,获取数据并绑定datalist
SqlCommand comd = new SqlCommand("usp_GetSubCategoryProducts", OBcon);
comd.CommandType = CommandType.StoredProcedure;
comd.Parameters.Add("@ID", SqlDbType.Int).Value = SubCategory_id;
DataSet ds = new DataSet();
SqlDataAdapter sqlAdapter = new SqlDataAdapter();
sqlAdapter.SelectCommand = comd;
sqlAdapter.Fill(ds);
listView.DataSource = ds;
listView.DataBind();发布于 2012-09-13 12:54:47
您可以使用jQuery的惰性图像加载工具来完成此操作……这很棒,正好满足您的需求。
http://www.appelsiini.net/projects/lazyload
延迟加载是一个用JavaScript编写的jQuery插件。它会延迟长网页中图像的加载。视区外的图像(网页的可见部分)在用户滚动到它们之前不会被加载。这与图像预加载相反。
在包含许多大图像的长网页上使用延迟加载可以使页面加载更快。加载可见图像后,浏览器将处于就绪状态。在某些情况下,它还可以帮助减少服务器负载。(上图摘自网站)
对于演示pls visit这个页面,你会知道这就是你要找的东西。
这是一个很容易集成的东西,因此适合您的需求。
要在数据列表或中继器中创建它,可以使用以下命令
<asp:Image ID="LazyImages" runat="server"
CssClass="lazy" src="img/BlankImage.gif" data-original="<%# Eval("URLofImageFromDB"))%>" />您需要专注于CssClass和SRC属性,而绑定和rest则由jQuery负责。
JQuery的配置很重要。
发布于 2012-09-13 12:57:45
task.But中没有任何内置的函数来做这件事,你可以使用jquery插件来做这件事。
延迟加载程序延迟加载(长)页面中的图像。在用户向下滚动之前,将不会加载折叠下的图像(页面中的较低位置)。
有关详细信息,请参阅链接。http://archive.plugins.jquery.com/project/lazyload
发布于 2012-09-13 12:54:46
DataList不是为此目的设计的。你最好使用javascript和ajax调用。
我有一个url,它以StartIndex和Count作为参数,并列出我们要显示的url。然后,只需使用javascript将它们添加到其中。
https://stackoverflow.com/questions/12399560
复制相似问题