在MVC 5中进行分页

时间:2014-03-05 10:14:51

标签: asp.net-mvc razor pagination html-table

在MVC 5中,如何为表创建分页?以下是表格结构。

<table class="table">
    <tr>
        <th>
           Item ID
        </th>
        <th>
           Item Name
        </th>
        <th>
           Rate
        </th>
        <th>
          Stock
        </th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.ItemID)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.ItemName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Rate)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Stock)
        </td>
    </tr>
}    
</table>

5 个答案:

答案 0 :(得分:7)

我推荐nuget

上提供的PagedList包

https://www.nuget.org/packages/PagedList

以下是完整文档

https://github.com/TroyGoode/PagedList

答案 1 :(得分:4)

答案 2 :(得分:3)

我找到了解决方案。使用webgrid,我们可以实现分页

@model IEnumerable<ItemMaster>
@{
    ViewBag.Title = "Item Details";
    WebGrid grid = new WebGrid(Model,rowsPerPage:5);
}
<h2>Item Details</h2>
@grid.GetHtml()

答案 3 :(得分:2)

Grid.MVC 是一个开源且工作网格,排序和分页

(与telerik不同,您不需要在控制器端更改任何内容,只需在视图中添加引用并使用。)

安装nugget包(Install

PM> Install-Package Grid.Mvc -Version 3.0.0 

在您的视图中,您可以自动创建列,如下所示(或自定义,请参阅User Guide

@using GridMvc.Html

@Html.Grid(Model).AutoGenerateColumns()

请参阅Online Demo

答案 4 :(得分:0)

您可以查找DataTables jquery插件here。它是一个非常强大且重量轻的插件,支持在表格内进行排序和搜索。