1

ASP.NET で画像ギャラリーを実装しようとしています。/c#

ページに 6 つのサムネイルを表示しています。これを表示するために、表示するサムネイルごとに ImageButton コントロールを含む ItemTemplate で ListView を使用することにしました。いくつかの質問を聞きたいんです:

  1. 適切なコントロールを選択していますか? (DataList、リピーターなどのオプションがあります)
  2. イメージを varbinary 型フィールドとして持つ SQL Server 2008 データベースから読み取っています。このバイナリ データをサムネイルに画像として表示したい場合、どうすればよいでしょうか。
  3. 最終的には、サムネイルをクリックしたときに大きな画像を表示できるようにしたいと考えています。クリックされたサムネイルの URL をコピーするにはどうすればよいですか?
  4. ガイドとして使用できる参照/デモ/サンプルを持っている人はいますか?

画像は SQL Server の「バイナリ」データであり、ファイル システム上のファイルではないことに注意してください。

SQL ロジックを記述して、sqldatareader で正しい画像を選択するか、代わりにデータセットを使用することができます。どのコントロールを使用するか、動的に追加する方法など、これらの初期設計の問題が発生している場所で、asp.net コントロールとそのコード ビハインドを続行したいと考えています。

4

1 に答える 1

0
  1. Repeater を使用することもできますが、ListView はレイアウトの観点からより柔軟です (ページングのサポートは言うまでもありません)。ただし、サムネイルを表示するための ImageButton は適切な選択ではありません。ハイパーリンク (または achor タグ) に埋め込まれたイメージ コントロール (または img タグ) を使用することをお勧めします。

  2. データベースからファイル システムに画像データを保存し、それらを URL として指定する必要があります。または、データベースから画像データをストリーミングする http ハンドラー (aspx/ashx) を記述し、ハンドラー パスを画像の URL として使用することもできます。どちらのアプローチでも、パフォーマンスを向上させるためにキャッシュ ヘッダーを使用する必要があります。すべてのことを考慮して、私はその単純さのために最初のアプローチを採用する傾向があります。

  3. 通常、次のようなマークアップを使用します。

     <a href="actual image URL" target="_blank" class="aLink">
       <img src="thumbnail URL" alt="Click to see image" />
     </a>
    

    したがって、アンカー タグには実際の画像 URL へのパスがあります。現在、画像ギャラリーを表示するために使用できる多くの Java スクリプト ライブラリ (まとめてライトボックスと呼ばれます) があります。 /http://fancybox.net/など

  4. 上記のライブラリには、クライアント側からギャラリーを生成するためのデモ/サンプルがあります。サーバー側から行う必要があるのは、例に示されているマークアップ (html) を生成することだけです。これは、リピーター/リストビューとデータ バインディング構文を使用して非常に簡単です。

于 2010-10-27T05:40:40.780 に答える