1

一連のサムネイルを配列として取得することで、Javascript でこれを行うことができます。そうすれば、自分が最初の写真にいるのか最後の写真にいるのかがわかるので、それに基づいてコントロールを表示できます。

C#/ASP.NET MVC 3(かみそり)を使用してサーバー側でこれを効率的に行うにはどうすればよいですか? たとえば、ここの私のサイトでは、19 枚の写真のうちの 1 枚です。次/前の機能を追加したいと思います。

写真の配列全体を取り出し、現在の写真を解析し、それが最初か最後かを判断してから、次へ/前へのボタンを作成する必要がありますか?

4

5 に答える 5

1

フォト ギャラリーがある場合は、多くの写真から 1 つの写真があり、 x アイテムから y アイテムのようなコンセプトがある場合は、ページングx < yが思い浮かびます。フォト ギャラリーは、次のページと前のページに移動するための 1 つの項目と 2 つのボタンを備えたグリッドのようなものです。自分でページングを実装したい場合は、すべての写真を取得して現在の写真と比較して、次/前のボタンを作成する必要はありません。必要なのは、現在のアイテム インデックスとすべての写真の数をキャッシュし、各レンダリングで次、前、または次と前のボタンをレンダリングする必要があるかどうかを計算することだけです。

于 2011-07-11T06:14:21.557 に答える
1

画像ごとに 1 つの完全なページ読み込みを行うのは非効率的で遅く、訪問者をサイトからすぐに遠ざけてしまいます。

最近、次の手法を使用して、かなり高速な ASP.NET MVC フォト ギャラリーを作成しました。

  1. 訪問者が特定のフォルダーをクリックすると、フォルダーのサムネイル コレクションを要求する ajax 要求がサーバーに送信されます (データは JSON 形式で返されます)。
  2. サムネイルやその他の UI コンポーネントは、 Knockout.jsと呼ばれるモデル ビュー ビューモデル フレームワークを使用してレンダリングされます(すばらしい!)。サーバーから取得した情報は、JSON 形式でノックアウト バインディング モデルに直接渡されるため、シリアル化やマーシャリングを行う必要はありません。
  3. ユーザーが特定のサムネイルをクリックすると、サーバーに対して ajax 呼び出しが発行され、画像情報を含む JSON オブジェクトが取得されます。 a) メイン画像 URL c) 次および前の画像 (存在する場合) d) exif 情報その画像へのコメントなど
  4. Knockout.js は、前と次の矢印 (存在する場合)、およびその他すべての情報を UI ビューモデルにレンダリングする方法を認識しているため、自動的に更新されます。

これをサーバー側のキャッシングと組み合わせると、非常に高速なフォト ギャラリー アプリケーションができあがります。

乾杯!!

イバン

于 2011-11-02T23:26:03.247 に答える
0

なぜC#でこれを行うのかわかりません。C#でそれをしている間、私はajax callを使用します。このために、最初の画像と合計画像数のみを最初に読み込みます。

合計数と現在の画像によると、前と次のボタンは表示されません。

次と前のボタンをクリックすると、ajax呼び出しを使用してdbから対応する画像を取得します。

使い方はわかりませんが、ギャラリーを表示するjqueryプラグインはたくさんあります

于 2011-07-11T06:08:26.983 に答える
0

これはいくつかの方法で実行できます。

  1. 最初の写真を取得する aspx ページを作成し、この同じ aspx ページを呼び出すボタンを作成しますが、必要に応じて次または前の写真のクエリ文字列を使用します。このソリューションではポストバックが発生するため、これが機能するかどうかを判断する必要があります。
  2. クエリ文字列に基づいて写真を取得する aspx ページを作成し、jQuery ajax 経由で呼び出します。
  3. クエリ文字列パラメーターに対して別の画像を返す ASHX ファイルを作成し、それを画像の SRC にします。

これら 3 つの方法では、さまざまなレベルのインタラクティブ性とポストバックが可能になります。行きたいルートが決まれば、そこにたどり着くためのお手伝いをします :)

于 2011-07-11T05:43:11.673 に答える
0

クライアント テクノロジ、Silverlight、ASP.NET MVC、ASP.NET Webforms、WPF、Winforms を指定しませんでした。概念は次のとおりです。

  1. クライアント/プレゼンテーション テクノロジーの選択
  2. 写真をどこから取得するかを決定します (データベース、Web サービス (データベースの前))。
  3. 特定のシリーズ (アルバム、ユーザー、グローバル) の次の写真と前の写真を取得するメソッドを作成する
  4. Forward または Backward (ボタン/画像) クリックでこれらのメソッドを呼び出します。
于 2011-07-11T05:33:54.220 に答える