1

私のasp.netアプリケーションには、1つのデータリスト、ページロードイベントがあり、画像アイテムの数(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 プラグインです。長い Web ページでの画像の読み込みが遅くなります。ビューポート (Web ページの表示部分) の外側にある画像は、ユーザーがスクロールする前に読み込まれません。これは、イメージのプリロードの反対です

多くの大きな画像を含む長い Web ページで遅延読み込みを使用すると、ページの読み込みが速くなります。ブラウザは、可視画像をロードした後、準備完了状態になります。場合によっては、サーバーの負荷を軽減することもできます。(以上、サイトより転載)

デモについては、このページにアクセスしてください。これが探しているものであることがわかります。

これは簡単に統合できるので、ニーズに合わせてください。

データリストまたはリピーターで作成するには、次を使用してこれを行うことができます

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

バインドと残りは jQuery によって処理されますが、CssClass と SRC 属性に集中する必要があります。

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 呼び出しを使用することをお勧めします。

パラメータとして と を受け取る URL を用意し、表示する URL をリストしStartIndexます。Count次に、JavaScriptを使用してそれらを追加します。

于 2012-09-13T04:54:46.403 に答える