Frage

Ich habe einen großen Datensatz und möchte ihn schrittweise laden, damit der Benutzer eine schnellere Ansichtslade hat.

War es hilfreich?

Lösung

Sie können Pagination implementieren (mit der AsPagination Erweiterungsmethode aus der MvcContrib.Pagination Namespace):

public ActionResult Index()
{
    IEnumerable<MyViewModel> model = ... fetch from somewhere the dataset
    return View(model.AsPagination(1, 10));
}

Und aus Ihrer Ansicht:

@model IPagination<MyViewModel>
@(Html
    .Grid<MyViewModel>(Model)
    .Columns(columns =>
    {
        columns.For(x => x.Id);
        columns.For(x => x.Name);
    })
)
@Html.Pager(Model)

Die Dokumentation Enthält Beispiele.

Andere Tipps

Oder machen Sie es auf Twitter -Weise - erhalten Sie einen weiteren Teil, wenn der Benutzer bis zum Ende der Seite scrollt.

Sie können AJAX zum Laden der Daten als DIMA -Metion verwenden. Wenn Ihre Benutzererfahrung äußerst wichtig ist, müssen Sie möglicherweise 2 oder 3 Portionen mehr laden. Beispielsweise lädt die Seite die ersten beiden Portionen und lädt dann die nächsten zwei Portionen, wenn der Benutzer das Ende von Teil 1 scrollt. Dies könnte die Erfahrung reibungsloser machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top