ホームページ > バックエンド開発 > C++ > ASP.NET MVC でシンプルかつ効率的なページネーションを実装するにはどうすればよいですか?

ASP.NET MVC でシンプルかつ効率的なページネーションを実装するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-28 21:45:10
オリジナル
766 人が閲覧しました

How to Implement Simple and Efficient Pagination in ASP.NET MVC?

ASP.NET MVC のページネーション: 包括的なガイド

Web 開発の領域では、ページネーションは大規模なデータセットの管理において重要な役割を果たします。ユーザーエクスペリエンスを向上させます。この文脈では、ページネーションとは、データセットをより小さなナビゲート可能なページに分割する手法を指します。 ASP.NET MVC では、ページネーションを実装するためのさまざまなアプローチがあり、この記事では、最も推奨され、最も簡単な方法を検討します。

入門: データ ソースからのデータの取得

コントローラー アクションでデータ ソース (データベースやリポジトリなど) からアイテムのリストを取得するシナリオがあると仮定しましょう。次のように:

public ActionResult ListMyItems()
{
    List<Item> list = ItemDB.GetListOfItems();
    ViewData["ItemList"] = list;

    return View();
}
ログイン後にコピー

ページネーション パラメータの定義

ページネーション プロセスを簡略化するために、コントローラ アクションのパラメータとしてページ番号のみを指定することを選択しましょう。

public ActionResult ListMyItems(int page)
{
    //...
}
ログイン後にコピー

ページ サイズの決定とデフォルト値

各ページに表示する項目の数 (ページ サイズ) を決定するには、ルート設定の設定を利用できます。

routes.MapRoute("Search", "Search/{query}/{startIndex}",
                        new
                        {
                            controller = "Home", action = "Search",
                            startIndex = 0, pageSize = 20
                        });
ログイン後にコピー

この設定では、 「startIndex」と「pageSize」のデフォルト値は 0 と 20、

データセットの分割

ページ サイズを定義すると、LINQ を活用してデータセットを簡単に分割できます。

var page = source.Skip(startIndex).Take(pageSize);
ログイン後にコピー

これコード行は、指定された数の項目をスキップし、現在の項目に必要な数の項目のみを取得します。 page.

ページ間の移動

ページ間のナビゲーションを提供するには、現在のページ インデックスに基づいて前後のページへのアクション リンクを作成できます。

<%=Html.ActionLink("next page", "Search", new {
                query, startIndex = startIndex + pageSize, pageSize }) %>
ログイン後にコピー

このリンクはユーザーを次のページにリダイレクトし、「startIndex」を更新します

これらの手法を効果的に実装すると、ASP.NET MVC アプリケーションにページネーションをシームレスに統合でき、大規模なデータセットに対してユーザー フレンドリーなブラウジング エクスペリエンスを提供できます。

以上がASP.NET MVC でシンプルかつ効率的なページネーションを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート