0

アプリケーションのほぼすべてのページには、いくつかのフィルターがあります。私の現在の目標は、フィルターを保存し、ユーザーがページを再度開いたときにフィルターを事前に選択するメカニズムを実装することです。これにより、少なくとも 1 つのセッションの間、ユーザーはページを開いたり、移動したりするときにフィルターを何度も選択する必要がなくなります。ページからページへ。

アプリケーションは ASP.NET MVC で作成されており、フィルタリングを処理するために多くの JavaScript を使用しています。現時点では、クライアント側でのみ多くのフィルタリングが行われます (たとえば、グリッドの完全なデータが取得され、それ以降のすべてのフィルタリングはクライアントでのみ行われます)。

私はこれらのステップを考えていました:

  • コントローラーの基本クラス: Method1 は、メソッドによって送信されたデータを common.js から取得し、それをセッションに保存します。
  • common JS: common.js に、ユーザーが行った選択を受け入れるメソッドを追加し、コントロールの名前とページの名前と共にそれをサーバー Method1 に送信して、新しい選択を Session オブジェクトに保存します。
  • コントローラーの基本クラス: Method2 は、コントローラーの名前、ページの名前を受け取り、Session オブジェクトを取得します。
  • 個々のページの JS: onload イベントで、既存のすべてのフィルターを指定し、Method2 からデータを取得します。

ただし、このソリューションが普遍的で最適かどうかはわかりません。

そして、私は車輪を再発明したくありません。このタスクの既存のソリューションまたはパターンはありますか? または、これをより良く行う方法はありますか?

4

1 に答える 1

0

私の頭に浮かぶ方法の 1 つは、セッションではなく Cookie を使用することです。それは単なるセクションであり、JavaScript 自体から Cookie を読み取ることができます。セッションに何も保存しないため、サーバーリソースが節約されます。選択基準があまり重要でない場合、セキュリティ上の問題はありません。

于 2013-04-29T08:47:20.720 に答える