This app illustrates use of custom pagination tag helper.
Source code of tag helper is located in separate project. This helps to locate its files and dependencies.
Text on First/Last buttons can be defined directly in html.
<paging pagination="@Model" first-page-text="Pierwsza" last-page-text="Ostatnia" controller="FamilyNames" action="Index"></paging>
The helper works with IQueryable<T>
and fetches only data needed for current page.
More on creating custom tag helpers for use with Razor engine can be found on
my blog
Yes, it is in Polish ;)