1

このウェブサイトのように検索機能を持ちたい

http://www.carwale.com/new/sea​​rch.aspx#budget=6&budget=8&fuel=2

ここでは、ユーザーが検索をフィルタリングする (チェックボックスをオンにする) たびに、それに応じて結果を更新します。これは ajax フィルターとして理解できます。

しかし同時に、クエリ文字列にも変更が反映されるため、後で参照できるようにユーザーがフィルター検索をブックマークするのに役立ちます。

asp.net/javascript で変更すると、ページがリロードされる場合があります。

同じことを実装するためのヒントや提案は本当に役に立ちます..

4

2 に答える 2

1

-- 最初の部分では、自動ポストバック付きの一連のチェック ボックス リストがあります。

ポストバックごとに、選択したチェックボックスに基づいてリストが更新されます。

今まではすべてがシンプルでしたが、素晴らしいのは (javascript と jQuery で作成された) インタラクティブなインターフェイスを備えていることです。

-- 後編ですが、ページをリロードせずにブックマークできるようにURLを変更する方法です。ここでのトリックは、アンカーの後にパラメーターを配置することです#

/new/search.aspx#budget=2

アンカーを使用する#と、ページはリロードされず、そのままになります。したがって、チェックボックスを1回クリックすると、javascriptを介してURLも更新されますが、その後の内容のみが#完全にリロードされずにページがそのまま残ります。

の後のパラメータ#はコード ビハインドで読み取ることができず、javascript を介してのみ読み取ることができます。

したがって、このページをブックマークして直接アクセスすると、たとえば/new/search.aspx#budget=2JavaScript が の後にあるものを読み取り、#それをコマンドに変換し、適切なチェックボックスをオンにして、コンテンツの更新を要求します。これはすべて、javascript を介してのみ実行できます。

jQuery history pluginこのスキーマで as ヘルパーを使用していることがわかります。

http://archive.plugins.jquery.com/project/history

#カタログをページからページへとナビゲートするときに、Amazon からパラメーターを使用した同じトリックが行われます。

-- 実行されるもう 1 つの巧妙なトリックは、ページ全体を待機して開くことです。そのため、ユーザーはページの準備が整うまでページを操作できません。そうしないと、ユーザーがチェック ボックスを非常に速く 2 回クリックすると、updatepanel にページ全体がポスト バックされ、以前の設定が失われる可能性があります。

于 2012-06-07T10:22:28.080 に答える
1

これは、3つのことを一緒に行うことで実現できます

1)@Aristosが言ったように、自動ポストバックが有効になっているチェックボックス

2) Ajax コントロール ツールキット Modalpopup。非同期ポストバックごとに自動的に起動されます (http://weblogs.asp.net/ruslan/pages/ajax-update-progress-updateprogress-in-ajax-modal-popup-modalpopupextender.aspx またはhttp://mattberseth.com/blog/2007/07/modalpopup_as_an_ajax_progress.html )

3) 履歴ポイント (http://msdn.microsoft.com/en-us/library/cc488548.aspx)

これは、jQuery を使用したくない場合は、jQuery を使用しなくても完全に実行できます。

于 2012-06-07T10:47:18.357 に答える