Questi sono tutti grandi risposte, in particolare il puntatore alla biblioteca di Jeroen Breuer, ma solo in nome di essere approfondita e parlare di tutte le opzioni - se siete usando jquery nel tuo progetto e se hai set di risultati relativamente piccoli potresti anche optare per una semplice soluzione di front end.
Dovresti semplicemente collegare l'intera lista di risultati e quindi utilizzare una libreria come JPList (http://jplist.com) come ho fatto qui. Vai a http://www.charterpublic.org/find-a-school/ e digita nella città di Denver, ad esempio. Vedrai che ci sono oltre 50 risultati. Mi legano l'intero elenco dei risultati quindi utilizzare jplist per rendere più ordinabile/paginabile ecc
@if (results.Any())
{
<div class="list">
@foreach (var result in results.OrderByDescending(r => r.Name))
{
<div class="list-item">
//build your item
</div>
}
</div>
}
<div class="jplist-panel">
<!-- bootstrap pagination control -->
<ul class="pagination text-center jplist-pagination"
data-control-type="boot-pagination"
data-control-name="paging"
data-control-action="paging"
data-range="4"
data-mode="google-like"></ul>
<!-- items per page dropdown -->
<div class="hidden dropdown pull-left jplist-items-per-page"
data-control-type="boot-items-per-page-dropdown"
data-control-name="paging"
data-control-action="paging">
<button class="btn btn-primary dropdown-toggle"
type="button"
data-toggle="dropdown"
id="dropdown-menu-1"
aria-expanded="true">
<span data-type="selected-text">Items per Page</span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdown-menu-1">
<li role="presentation">
<a role="menuitem" tabindex="-1" href="#" data-number="3">3 per page</a>
</li>
<li role="presentation">
<a role="menuitem" tabindex="-1" href="#" data-number="5">5 per page</a>
</li>
<li role="presentation">
<a role="menuitem" tabindex="-1" href="#" data-number="10" data-default="true">10 per page</a>
</li>
<li role="presentation" class="divider"></li>
<li role="presentation">
<a role="menuitem" tabindex="-1" href="#" data-number="all">View All</a>
</li>
</ul>
</div>
</div>
Poi in fondo della vostra vista ...
<script type="text/javascript">
$(document).ready(function() {
$('#demo').jplist({
itemsBox: '.list',
itemPath: '.list-item',
panelPath: '.jplist-panel'
});
});
</script>
Non ci sono altre librerie front-end che fanno questo , ma ho trovato JPList il più facile da usare per me.
Il lato negativo è che non è pigro, quindi è un po 'più pesante, ma con elenchi piccoli come il mio, questa è stata una soluzione semplice e completa.
Ciao. Grazie mille per questo. Ho guardato attraverso pochi script di impaginazione, e questo è di gran lunga il più semplice da implementare e funziona perfettamente. – Blowtar
Perché stai facendo Umbraco.TypedContent (Model.Content.Id)? Umbraco.Content È un IPublishedContent.Stai colpendo la cache mentre hai il modello già a tua disposizione – dampee