Comment charger progressivement des données dans la grille de MvcContrib dans Asp.Net MVC2
-
26-10-2019 - |
Question
J'ai un grand ensemble de données et je veux le charger progressivement afin que l'utilisateur aura un chargement plus rapide de la vue.
La solution
Vous pourriez mettre en œuvre la pagination (en utilisant la méthode d'extension de AsPagination
de l'espace de noms MvcContrib.Pagination
):
public ActionResult Index()
{
IEnumerable<MyViewModel> model = ... fetch from somewhere the dataset
return View(model.AsPagination(1, 10));
}
et votre point de vue:
@model IPagination<MyViewModel>
@(Html
.Grid<MyViewModel>(Model)
.Columns(columns =>
{
columns.For(x => x.Id);
columns.For(x => x.Name);
})
)
@Html.Pager(Model)
Autres conseils
Ou le faire de façon Twitter -. Obtenir une autre partie lors de défilement de l'utilisateur à la fin de la page
Vous pouvez utiliser ajax pour charger les données comme Dima metioned. Si votre expérience utilisateur est extrêmement important, vous devrez peut-être charger 2 ou 3 portions plus. Par exemple, la page se charge les deux premières parties, puis des charges suivant deux parties lorsque l'utilisateur fait défiler la fin de la partie 1. Cela pourrait rendre l'expérience plus lisse.