Pagination dans ASP.NET MVC à l'aide de LINQ et des paramètres de route par défaut
Problème :
Comment implémenter efficacement la pagination dans une application ASP.NET MVC, permettant aux utilisateurs de parcourir une grande liste d'éléments divisés en plusieurs pages ?
Réponse :
Détermination de la source de données et des paramètres par défaut
Tout d'abord, identifiez la source de données de votre liste et définissez votre méthode d'action avec des arguments par défaut pour la pagination. Par exemple :
public ActionResult Search(string query, int startIndex = 0, int pageSize = 20) { // ... }
Utilisation de LINQ pour la pagination
Pour diviser la liste des éléments en pages, utilisez LINQ. Pour ignorer un nombre spécifique d'éléments (tel que déterminé par startIndex) et récupérer la taille de page spécifiée (pageSize), vous pouvez utiliser les expressions LINQ suivantes :
var page = source.Skip(startIndex).Take(pageSize);
Configuration de la route par défaut
Configurer les valeurs par défaut pour startIndex et pageSize dans les routes configuration :
routes.MapRoute("Search", "Search/{query}/{startIndex}", new { controller = "Home", action = "Search", startIndex = 0, pageSize = 20 });
Liens d'action pour la pagination
Générer des liens d'action pour naviguer vers différentes pages :
<%=Html.ActionLink("next page", "Search", new { query, startIndex = startIndex + pageSize, pageSize }) %>
Cette approche vous permet de divisez une liste en pages consultables à l'aide de LINQ, des paramètres de route par défaut et des liens d'action. Il rationalise le processus de pagination et applique un formatage et un style cohérents sur toutes les pages.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!