@using Microsoft.AspNetCore.Mvc.ViewFeatures @model PagedList @{ ViewData["Title"] = "People"; }

People list

@{ (string PropertyName, string Title, bool Sortable)[] columns = [ (nameof(PersonInfo.FirstNameTranscription), "First Name", true), (nameof(PersonInfo.LastNameTranscription), "Last Name", true), (nameof(PersonInfo.OriginalName), "Original Name", false), (nameof(PersonInfo.BirthDate), "Birth Date", true), (nameof(PersonInfo.CountryName), "Country Name", true) ]; var personRowViewData = new ViewDataDictionary(ViewData) { { Constants.ViewDataKeys.PagingInfo, Model.PagingInfo } }; }

People list

@(Model.PagingInfo.IsFiltered ? $"{Model.PagingInfo.FilteredItemsCount} / {Model.PagingInfo.TotalItemsCount}" : Model.PagingInfo.TotalItemsCount.ToString()) Add
@if (Model.PagingInfo.IsFiltered) { Clear }
@foreach (var column in columns) { } @if (Model.Data.Count == 0) { } else { @foreach (var person in Model.Data) { } }
@if (column.Sortable) { @column.Title@(Model.PagingInfo.IsSortedBy(column.PropertyName) ? (Model.PagingInfo.IsDescending() ? " ?" : " ?") : "") } else { @column.Title }
No data to display.
Page @Model.PagingInfo.CurrentPage of @Model.PagingInfo.TotalPages