你必須使用尋呼這將一次只顯示一些記錄,在用戶可以選擇瀏覽的記錄下方,就像Google搜索一樣,您還必須更改控制器以僅檢索顯示的記錄數量,以避免無需點擊數據庫。
第一件事,打開NuGet包管理器控制檯通過點擊工具 - > NuGet包管理器 - >程序包管理器控制檯
然後鍵入以下命令
Install-Package MVC4.Paging
這將安裝一個繪製庫您的表下方的尋呼控制
打開您的視圖並添加以下代碼
@using MvcPaging
@model IPagedList<Your Model Class>
Put here your table that lists the items
<div class="pager">
@Html.Raw(Ajax.Pager(
new Options
{
PageSize = Model.PageSize,
TotalItemCount = Model.TotalItemCount,
CurrentPage = Model.PageNumber,
ItemTexts = new ItemTexts() { Next = "Next", Previous = "Previous", Page = "" },
ItemIcon = new ItemIcon() { First = "icon-backward", Previous = "icon-chevron-left", Next = "icon-chevron-right", Last = "icon-forward" },
TooltipTitles = new TooltipTitles() { Next = "Next page", Previous = "Previous page", Page = "Page {0}." },
Size = Size.normal,
Alignment = Alignment.centered,
IsShowControls = true,
IsShowFirstLast = true,
CssClass = ""
},
new AjaxOptions
{
HttpMethod = "post",
}, new { controller = "YourController", action = "YourAction" }))
</div>
<link href="~/Content/paging.css" rel="stylesheet" />
現在,你必須改變你的控制器動作可考慮如下
using MvcPaging;
public ActionResult Index(int? page) {
int currentPageIndex = page.HasValue ? page.Value : 1;
var results = db.Reviews.Include(m => m.User);
results = results.OrderBy(a => a.Id);
var totalCount = results.Count();
var pagedResults = results.ToPagedList(currentPageIndex, defaultPageSize, totalCount);
return View(pagedResults ;
}
使用查詢使用'.Skip()'和'。取()'使用分頁機制 - 例如,使用PagedList。 MVC - [在ASP.NET MVC應用程序中使用實體框架對排序,過濾和分頁](https://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using- mvc/sorting-filtering-and-paging-with-the-entity-framework-in-an-asp-net-mvc-application) –
@StephenMuecke謝謝,就是我在找的東西。 – skylake