アプリケーションのほぼすべてのページには、いくつかのフィルターがあります。私の現在の目標は、フィルターを保存し、ユーザーがページを再度開いたときにフィルターを事前に選択するメカニズムを実装することです。これにより、少なくとも 1 つのセッションの間、ユーザーはページを開いたり、移動したりするときにフィルターを何度も選択する必要がなくなります。ページからページへ。
アプリケーションは ASP.NET MVC で作成されており、フィルタリングを処理するために多くの JavaScript を使用しています。現時点では、クライアント側でのみ多くのフィルタリングが行われます (たとえば、グリッドの完全なデータが取得され、それ以降のすべてのフィルタリングはクライアントでのみ行われます)。
私はこれらのステップを考えていました:
- コントローラーの基本クラス: Method1 は、メソッドによって送信されたデータを common.js から取得し、それをセッションに保存します。
- common JS: common.js に、ユーザーが行った選択を受け入れるメソッドを追加し、コントロールの名前とページの名前と共にそれをサーバー Method1 に送信して、新しい選択を Session オブジェクトに保存します。
- コントローラーの基本クラス: Method2 は、コントローラーの名前、ページの名前を受け取り、Session オブジェクトを取得します。
- 個々のページの JS: onload イベントで、既存のすべてのフィルターを指定し、Method2 からデータを取得します。
ただし、このソリューションが普遍的で最適かどうかはわかりません。
そして、私は車輪を再発明したくありません。このタスクの既存のソリューションまたはパターンはありますか? または、これをより良く行う方法はありますか?