MVC分页解释

MVC分页解释

ASP.NET MVC中进行分页的方式有多种,这里介绍一种简单实用的方法

一:在实现分页之前,先添加“PagedList”和“PagedList.Mvc”两个组件,具体下载直接在NuGet程序包里收索安装就行

二:(1)数据源,实现分页的前提除了必要组件我们还要有数据源,我这里是直接从数据库里获取的数据;

(2)分页处理,分页逻辑中有分页索引,分页条数两个必要参数,然后通过ToPagedList扩展方法进行分页;

(3)将分页数据传给View

以下是实现代码

Controller类:

using PagedList;
public class UserInfoController : Controller
{
//数据源
private testEntities db =new testEntities();

    // GET: Userinfo
    public ActionResult Index(int? page)
    {
        var userList = from s in db.userInfo select s;
        //第几页  
        int pageNumber = page ?? 1;

        //每页显示多少条  
        int pageSize = 5; 

        //根据ID升序排序  
        userList = userList.OrderBy(x => x.userId);

        //通过ToPagedList扩展方法进行分页  
        IPagedList<userInfo> userPagedList = userList.ToPagedList(pageNumber, pageSize);

        //将分页处理后的列表传给View 
        return View(userPagedList);

        //return View(db.userInfo.ToList());
    }

}
页面View

@model PagedList.IPagedList<WebMvcDemo.Models.userInfo>
@using PagedList.Mvc;

@{
ViewBag.Title = “Index”;
}

用户列表

<table class="table">
    <tr>
        <th>
            姓名
        </th>
        <th>
            年龄
        </th>
        <th>
            性别
        </th>
        <th></th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.userName)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.userAge)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.userSender)
            </td>
            <td>
                @Html.ActionLink("编辑", "Edit", new { id = item.userId }) |
                @Html.ActionLink("详情", "Details", new { id = item.userId }) |
                @Html.ActionLink("删除", "Delete", new { id = item.userId })
            </td>
        </tr>
    }
</table>
@*分页主要代码*@ 每页 @Model.PageSize 条记录,共 @Model.PageCount 页,当前第 @Model.PageNumber 页 @Html.PagedListPager(Model, page => Url.Action("Index", new { page }))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值