2012-09-13 46 views
1

在我的asp.net應用程序中有一個數據列表,頁面加載事件我必須綁定一些圖像項目(1000),如何應用按需加載(你可以說延遲加載圖像)(當滾動頁面時那個時候只能綁定像facebook新需求頁面那樣的項目)如何使用asp.net在datalist中爲圖像應用按需加載(延遲加載)概念?

基本上我不想因爲沒有圖像及其加載時間而導致頁面加載延遲。 我的代碼是 頁面加載事件 獲取數據並綁定在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(); 
+0

嘗試我所建議的,並相信我這應該工作;據我所知這不會需要在上面的方法C#級別的任何代碼級別的變化。 –

回答

2

那麼你可以使用jQuery的懶惰圖像加載工具來做到這一點...這是很好的,只是適合你的需求。

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

延遲加載是一個jQuery插件用JavaScript編寫的。它延緩了長頁面中的圖像加載。 視窗外的圖像(網頁的可見部分)不會在用戶滾動到它們之前加載。這與圖像預加載相反。

在包含許多大圖像的長網頁上使用延遲加載會使頁面加載速度更快。加載可見圖像後瀏覽器將處於就緒狀態。在某些情況下,它也可以幫助減少服務器負載。 (以上摘自網站)

對於演示pls visit此頁面,你會知道這是你正在尋找的東西。

這是一個容易整合的東西,所以適合您的需求。

,使其在DataList或Repeater可以使用

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

你需要集中精力的CssClass和SRC屬性而結合,將其餘的的jQuery照顧做到這一點。

JQuery的配置很重要。

+0

如何在數據集綁定時使用Lazy load概念,如何處理,請舉一個簡單的例子 – hmk

+0

這應該解決你的問題;我有10K +圖像,他們來自ULR的,我用上面的工具測試它;它在不到一秒的時間內加載頁面。 –

+0

我的問題是如何處理代碼給我一個簡單的例子在asp.net datalist如果你不我的 – hmk

0

DataList並不意味着用於此目的。你最好使用javascript和ajax調用。

有一個URL需要StartIndexCount作爲參數,並列出我們的URL顯示。然後將它們附加在使用JavaScript中。

0

在asp.net中沒有任何內置的函數來完成這個任務。但是你可以使用jquery插件來達到這個目的。

懶惰的加載程序延遲加載(長)頁面中的圖像。在用戶向下滾動之前,摺疊下方的圖像(在頁面的下方)不會被加載。

有關詳細信息,請參閱鏈接。 http://archive.plugins.jquery.com/project/lazyload