LINQ とデフォルト ルート パラメーターを使用した ASP.NET MVC のページネーション
問題:
ASP.NET MVC アプリケーションでページネーションを効率的に実装し、ユーザーが閲覧できるようにする方法複数のページに分割された項目の大きなリストを参照してください?
答え:
データ ソースとデフォルト パラメーターの決定
最初、リストのデータ ソースを特定し、ページネーションのデフォルト引数を使用してアクション メソッドを定義します。例:
public ActionResult Search(string query, int startIndex = 0, int pageSize = 20) { // ... }
ページネーションに LINQ を使用する
項目のリストをページに分割するには、LINQ を使用します。特定の数の項目 (startIndex によって決定される) をスキップし、指定されたページ サイズ (pageSize) を取得するには、次の LINQ 式を使用できます。
var page = source.Skip(startIndex).Take(pageSize);
Default Route Configuration
ルートの startIndex と pageSize のデフォルト値を設定するsetup:
routes.MapRoute("Search", "Search/{query}/{startIndex}", new { controller = "Home", action = "Search", startIndex = 0, pageSize = 20 });
ページネーション用のアクション リンク
別のページに移動するためのアクション リンクを生成します:
<%=Html.ActionLink("next page", "Search", new { query, startIndex = startIndex + pageSize, pageSize }) %>
このアプローチにより、次のことが可能になります。 LINQ、デフォルト ルート パラメーター、およびアクション リンクを使用して、リストを閲覧可能なページに分割します。これにより、ページネーションのプロセスが合理化され、すべてのページにわたって一貫した書式設定とスタイルが適用されます。
以上がLINQ とデフォルト ルート パラメーターを使用して ASP.NET MVC で効率的なページネーションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。