1

在我的asp.net应用程序中有一个数据列表,页面加载事件我必须绑定图像项的数量(1000),如何按需应用加载(你可以说延迟加载图像)(当时滚动页面时)只绑定facebook新需求页面等项目)

基本上我不希望由于没有图像及其加载时间而导致页面加载延迟。我的代码是页面加载事件获取数据并绑定数据列表

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();
4

3 回答 3

2

好吧,您可以使用 jQuery 的惰性图像加载工具来做到这一点……这很棒,正好满足您的需求。

http://www.appelsiini.net/projects/lazyload

Lazy Load 是一个用 JavaScript 编写的 jQuery 插件。它延迟了长网页中图像的加载。在用户滚动到它们之前,不会加载视口之外的图像(网页的可见部分)。这与图像预加载相反

在包含许多大图像的长网页上使用延迟加载可以加快页面加载速度。加载可见图像后,浏览器将处于就绪状态。在某些情况下,它还可以帮助减少服务器负载。(以上取自网站)

对于演示,请访问此页面,您会知道这是您正在寻找的东西。

这是一个易于集成的东西,因此可以满足您的需求。

要在 Datalist 或中继器中制作它,您可以使用

<asp:Image ID="LazyImages" runat="server" 
  CssClass="lazy" src="img/BlankImage.gif" data-original="<%# Eval("URLofImageFromDB"))%>" />

您需要专注于 CssClass 和 SRC 属性,而 jQuery 负责绑定和休息。

JQuery 的配置很重要。

于 2012-09-13T04:54:46.523 回答
1

asp.net 中没有任何内置函数可以执行此任务。但是您可以为此目的使用 jquery 插件。

延迟加载器延迟加载(长)页面中的图像。在用户向下滚动之前,不会加载首屏下方的图像(在页面的最下方)。

有关详细信息,请参阅链接。http://archive.plugins.jquery.com/project/lazyload

于 2012-09-13T04:57:44.757 回答
0

DataList不是为了这个目的。你最好使用 javascript 和 ajax 调用。

有一个以StartIndexand Countof 作为参数的 url 并列出我们要显示的 url。然后只需将它们附加到使用 javascript 中。

于 2012-09-13T04:54:46.403 回答