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 サイトの他の関連記事を参照してください。