2010-12-14 17 views
1

私が話しているセクションの画像です: alt textASP.NET MVC 2:以下エミュレートeBayのポストバック

私がやっている何をeBayに非常に似ています

1)フォーム「検索用語」の上部に表示され、次にカテゴリが表示されます。

2)ユーザーがクリックして検索をさらに絞り込むことができる左側のフィルタ。

3)これらの結果をソートする。

私はeBayで少し遊んでいましたが、フィルタ(左側のボックス)をクリックするたびに、または結果を並べ替えるたびに投稿されているように見えます。フォームにページを表示するために使用されたすべての「設定」のコピーを保存し、それを使用してサブミットのクリックでポストバックしますか?

この機能をどのようにエミュレートできますか?私はform要素のページ全体をラップするというのは好きではない...それは汚れているようだ。 jQueryを使用してすべてのユーザー入力を収集し、何とかそれを渡す必要がありますか?

+1

@Nathan、誰にも私のためにコードを書くことを求めているわけではありません。それは非常に予期している...私は本当にこれを達成する方法について本当に困惑しています。私はeBayを例として使用しています。「私がやっていることはeBayと非常によく似ています。」 – dcolumbus

+0

ご迷惑をおかけして申し訳ございませんが、ご質問の文章からeBayを包み込みたい印象を受けました。私の間違い。 –

+0

@Nathan、理解される。正直なところ、私はこのユーザー入力のすべてを(フォーム要素、クリックされたリンク、並べ替えなどから)どのように集めてコントローラに戻すことができるのか把握しようとしています。私はちょうどこれを行うの "正しい方法"の周りに私の頭を包むことはできません。 – dcolumbus

答えて

0

jQuery Ajaxを使用するのが最善の解決策であると判断しました。それ以外の場合は、ユーザー入力のすべての部分がform要素であり、ページ全体がformタグで囲まれていることを確認する必要があります。

1

私はeBayのやり方については分かりませんが、私の場合は、ページ上のすべての検索オプションを追跡するjavascriptオブジェクトがいくつかあります。あなたがハイライトした各要素は、JavaScriptオブジェクトがこの情報を更新し、AJAX経由でコントローラーアクションに送信し、結果領域を変更で更新するイベントを発生させます。

これは、イベントのやや単純化されたバージョンですが、うまくいけば、あなたを正しい軌道に乗せることができます。

+0

それは私が思っていたものです。それだけのオプションですか?このようなことを行うためのMVCの適切な方法があるはずです... – dcolumbus

+0

AJAXを使用せずにこれを行うには、検索アクションですべての可能性のある検索オプションをパラメータとして取り、passこれらのオプションをViewコードに追加し、Html.ActionLink()への各呼び出しを設定して、現在のすべてのパラメータとその特定のボタンをクリックすることに関連するパラメータを使用します。 URLには、以前のすべての検索オプションと、あなたがクリックしたばかりの検索オプションが含まれます。 – StriplingWarrior

+0

ええ、唯一の問題は、オプションが動的であり、モデルまたは静的なパラメータセットで予測できないことです。 – dcolumbus

関連する問題