Pregunta

Tengo un gran conjunto de datos y quiero cargarlo de forma incremental para que el usuario tenga una carga más rápida.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top