私は、ユーザーがデータをフィルタリングしてから、選択範囲をpdfまたはExcelにエクスポートできるWebページを開発しています。WebサイトはASP.NETC#を使用しています。
データをフィルタリングするために、ボックスとドロップダウンのある左側の列を含むWebページを作成しました。これにより、ユーザーは検索条件を入力して、検索ボタンをクリックできます。これは、多くのWebサイトに含まれている典型的な検索/フィルター機能です。データをフィルタリングした後、選択はaspリストビューを使用して表示されます。このリストビューはテーブルを生成します。Dragtableを実装して、ユーザーがこのテーブルの列の順序を変更できるようにし、columnManagerを使用して、表示する列を選択できるようにしました。
したがって、私の問題は、フィルター/検索機能がasp .net C#を使用してバックエンドで解決されるのに対し、列の選択と再配置はjQueryを使用してクライアント側で行われることです。ユーザーが「エクスポート」ボタンをクリックしたら、jQueryによって実行されるフィルターに加えて、aspコントロールによって実行されるフィルターを収集し、ファイルを作成したいと思います。このファイルには、dragtableを使用して変更した後と同じ順序で、columnManagerを使用して選択した列のみを含める必要があります。
サーバー側フィルターとクライアント側フィルターの両方を使用する場合のベストプラクティスは何ですか?また、サーバー側のフィルタリングをすべて削除し、ajax.post()のみを使用してすべてのフィルターをJSON形式でサーバーに送信することも検討しました。また、ユーザーが現在のフィルターを別の時間保存できるようにしたいと思います。
アップデート
サーバー側を削除し、ajax(より正確にはgetJSON)を使用して検索結果を取得することにしました。このようにして、ポストバックで行うjQuery / jsで行われる列の順序付けと並べ替えを失うことはありません(もちろん、Cookieなどを使用できます)。また、すべてのロジックを1か所にまとめており、JSONオブジェクトはサーバー側で簡単にラップ/アンラップできます。しかし、あなたの答えをありがとう!