0

私は MVC3 サイトを作成し、ページネーション (PagedList; を使用) を使用して大量のデータを表示しています。呼び出しごとに 2000 行を超えるストアド プロシージャがあります。

私はJQUERYでAJAXを使用してデータを取得し($.ajaxjqueryで呼び出し)、コントローラーで取得したデータに対してページネーションを実行しました。そのため、ストアド プロシージャから 2000 のデータ行を取得し、コントローラーでページネーションを行い、10 行のデータを表示しています。しかし、「次へ」/「前へ」リンクをクリックすると、コントローラーは同じストアド プロシージャを再度呼び出し、別の 2000 行を取得し、ページ番号に基づいてコントローラーにデータを表示します。したがって、毎回 2000 行をフェッチします。

ここではラッパー クラスを使用していません。コントローラーからストアド プロシージャを直接呼び出す。

ありがとう。

4

1 に答える 1

0

You will have to modify the stored procedure so that it takes the current page number and the number of records to return as parameters. This way the pagination will be done directly on the SQL Server which is the only correct way to do pagination if you are concerned about efficiency as it avoids you from fetching all the records from the database and slicing them on the client.

于 2012-06-20T17:45:51.267 に答える