Cómo cargar datos incrementalmente en MVCContrib Grid en ASP.NET MVC2
-
26-10-2019 - |
Pregunta
Tengo un gran conjunto de datos y quiero cargarlo de forma incremental para que el usuario tenga una carga más rápida.
Solución
Podría implementar la paginación (usando el AsPagination
Método de extensión del MvcContrib.Pagination
espacio de nombres):
public ActionResult Index()
{
IEnumerable<MyViewModel> model = ... fetch from somewhere the dataset
return View(model.AsPagination(1, 10));
}
Y en tu opinión:
@model IPagination<MyViewModel>
@(Html
.Grid<MyViewModel>(Model)
.Columns(columns =>
{
columns.For(x => x.Id);
columns.For(x => x.Name);
})
)
@Html.Pager(Model)
La documentación contiene ejemplos.
Otros consejos
O hazlo en Twitter Way: obtenga otra parte cuando el usuario se desplace hasta el final de la página.
Puede usar AJAX para cargar los datos como DIMA Metioned. Si su experiencia de usuario es extremadamente importante, es posible que deba cargar 2 o 3 porciones más. Por ejemplo, la página carga las dos primeras porciones y luego carga las siguientes dos porciones cuando el usuario se desplaza el final de la porción 1. Esto podría hacer que la experiencia sea más suave.