testapps/ContosoUniversityWeb/Pages/Students/Index.cshtml (80 lines of code) (raw):

@page @model ContosoUniversity.Pages.Students.IndexModel @{ ViewData["Title"] = "Students"; } <h2>Students</h2> <p> <a asp-page="Create">Create New</a> </p> <form asp-page="./Index" method="get"> <div class="form-actions no-color"> <p> Find by name: <input type="text" name="SearchString" value="@Model.CurrentFilter" /> <input type="submit" value="Search" class="btn btn-primary" /> | <a asp-page="./Index">Back to full List</a> </p> </div> </form> <table class="table"> <thead> <tr> <th> <a asp-page="./Index" asp-route-sortOrder="@Model.NameSort" asp-route-currentFilter="@Model.CurrentFilter"> @Html.DisplayNameFor(model => model.Students[0].LastName) </a> </th> <th> @Html.DisplayNameFor(model => model.Students[0].FirstMidName) </th> <th> <a asp-page="./Index" asp-route-sortOrder="@Model.DateSort" asp-route-currentFilter="@Model.CurrentFilter"> @Html.DisplayNameFor(model => model.Students[0].EnrollmentDate) </a> </th> <th></th> </tr> </thead> <tbody> @foreach (var item in Model.Students) { <tr> <td> @Html.DisplayFor(modelItem => item.LastName) </td> <td> @Html.DisplayFor(modelItem => item.FirstMidName) </td> <td> @Html.DisplayFor(modelItem => item.EnrollmentDate) </td> <td> <a asp-page="./Edit" asp-route-id="@item.ID">Edit</a> | <a asp-page="./Details" asp-route-id="@item.ID">Details</a> | <a asp-page="./Delete" asp-route-id="@item.ID">Delete</a> </td> </tr> } </tbody> </table> @{ var prevDisabled = !Model.Students.HasPreviousPage ? "disabled" : ""; var nextDisabled = !Model.Students.HasNextPage ? "disabled" : ""; } <a asp-page="./Index" asp-route-sortOrder="@Model.CurrentSort" asp-route-pageIndex="@(Model.Students.PageIndex - 1)" asp-route-currentFilter="@Model.CurrentFilter" class="btn btn-primary @prevDisabled"> Previous </a> <a asp-page="./Index" asp-route-sortOrder="@Model.CurrentSort" asp-route-pageIndex="@(Model.Students.PageIndex + 1)" asp-route-currentFilter="@Model.CurrentFilter" class="btn btn-primary @nextDisabled"> Next </a>