In my asp.net application have one data list, page load event I have to bind number of image items(1000), how to apply the load on demand (What you can say Lazy loading of images) (when scrolling the page that time only bind the items like facebook new needs page)
Basically I don’t want page load delay due to no of images and their loading time.
my code is
page load event
get the data and bind the 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();
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Well you can do this using jQuery’s lazy image load tool… This is great and just fit your needs.
Using Lazy Load on long web pages containing many large images makes the page load faster. Browser will be in ready state after loading visible images. In some cases it can also help to reduce server load. (Above is taken from the site)
For demo pls visit this page and you would know that this is the thing you are looking for.
This is an easy to integrate stuff so fit your needs.
To make it in Datalist or repeater you can do this using
<asp:Image ID="LazyImages" runat="server" CssClass="lazy" src="img/BlankImage.gif" data-original="<%# Eval("URLofImageFromDB"))%>" />
You need to concentrate on CssClass and SRC attribute while binding and rest is taken care by jQuery.
Configuration of JQuery is important.
There is not any built in function in asp.net to do this task.But you may use jquery plugin for this purpose.
Lazy loader delays loading of images in (long) pages. Images below the fold (far down in the page) wont be loaded before user scrolls down.
For details see a link. http://archive.plugins.jquery.com/project/lazyload
Have a url that takes the