So laden Sie Daten in mvccContrib -Gitter in ASP.NET MVC2 inkrementell.
-
26-10-2019 - |
Frage
Ich habe einen großen Datensatz und möchte ihn schrittweise laden, damit der Benutzer eine schnellere Ansichtslade hat.
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.