私の計画は、ASP MVC 3を使用して2ペインのページを作成することです。左側のペインは小さなフィルタペインで、メインのコンテンツはオブジェクトのリスト(製品)を示しています。フィルタリングペイン、ASP MVC 3
フィルタが適用されていないため、最初はすべての製品が表示されます。 「赤のみ」を選択すると、赤い製品のみがリストに表示されます。さらに価格帯を選択すると、その価格帯の商品のみが表示されます。
機能的には、フィルタリングペインをチェックボックス付きのツリービューとして実装することです(より具体的なフィルタリングオプションをドリルダウンできるようにするため)、グラフィカルに、おそらく使いやすさを向上させるために何らかの方法で拡張されます。
フィルタペインとメインリストの結合を実装する最も良い方法は何ですか?すべてがサーバー側で動作するはずですが、直接的なフィードバックが可能な場合はjavascript(jQuery)を使用する必要があります。
最も簡単な方法は、カスタムビルドのJavaScriptを使用して特定のAsp MVCアクションを呼び出すことです(フォームポストへのフォールバックを使用して)。十分な作業は可能ですが、ソリューションを再利用可能にする方法はありますか?また、前と後ろをナビゲートするときにすべてのフィルタリングデータを緩和しないといいでしょう。私はGETの引数がそれを行う唯一のまともな方法だと思いますか?
フィルタリングのための素敵なモジュラー構造を作るためのベストプラクティス、ガイドラインなどがありますか?
おかげで、非常に私は考えていた線に沿って聞こえる - GET引数の長いリストを:)とにかく - サーバー側を処理するための任意の巧妙な方法は何ですか? "アクションフィルタ(文字列thisValue、文字列thatValue、リスト checkboxFiltering、int numberOfResults、int page、...)"よりも優れていますか?リストが長くなり、より洗練されたソリューションが存在するはずですか? –
Victor
実際に私が提案したのは、フォームを介して引数をPOSTします。フィルタリングパラメータの長いリストを送信しない場合は、代わりにフィルタリングプロパティを持つオブジェクトを作成します。あなたの行動では、パラメータを単一のオブジェクトに置き換えてください。モデルバインディングは、投稿されたパラメータをオブジェクトのプロパティと自動的にバインドします。 –
+1と受け入れ - 私はjQuery.Formsの方法を終了しました。どうもありがとう。そして引数については、GET/POSTはASPの観点からはそれほど重要ではありません。最終的には、Telerik ASP MVC Treeviewコンポーネントの上にソリューションを構築しました。そのため、単純化のためにモデルバインドをベースとして使用しました。 – Victor