zoukankan      html  css  js  c++  java
  • mvc 分页PagedList简单使用

    1.nuget下载PagedList包

    2.PageListHelper类:

    using PagedList;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace ClothMvcApp.Helper
    {
        public class PageListHelper<T>
        {
            public IPagedList<T> PageList { get; set; }
    
            public string Controller { get; set; }
    
            public string Action { get; set; }
    
            public string Key { get; set; }
        }
    }

    3.创建一个部分页_PagedListPartial.cshtml

    <div class="page-box">
        @{
    
        int pageIndex = 1;
        int pageSize = 1;
    
        if (Model.PageList != null)
        {
            pageIndex = Model.PageList.PageNumber;
    
            pageSize = Model.PageList.PageSize;
    
            <span><span style="color:orange;font-weight:bold;">@Model.PageList.TotalItemCount</span>&nbsp;&nbsp;<span style="color: orange; font-weight: bold;">@Model.PageList.PageCount</span></span>
    
                 <a href="@Url.Action(Model.Action, Model.Controller, new { pageIndex = 1,pageSize=Model.PageList.PageSize,key=Model.Key })">首页</a>
    
                if (Model.PageList.HasPreviousPage)
                {
                    <a href="@Url.Action(Model.Action, Model.Controller, new { pageIndex = (Model.PageList.PageNumber - 1), pageSize = Model.PageList.PageSize, key = Model.Key })">上一页</a>
                }
                
                 <select onchange="changePageSize(this)" style="70px;">
                    @{
                        for (int i = 1; i <= 10; i++)
                        {
                            <option value="@(i*5)" @(Model.PageList.PageSize == i*5 ? "selected" : "")>@(i*5)</option>
                        }
                    }
                </select>
            
    
                if (Model.PageList.HasNextPage)
                {
                    <a href="@Url.Action(Model.Action, Model.Controller, new { pageIndex = (Model.PageList.PageNumber + 1), pageSize = Model.PageList.PageSize, key = Model.Key })">下一页</a>
                }
    
    
                <a href="@Url.Action(Model.Action, Model.Controller, new { pageIndex = Model.PageList.PageCount, pageSize = Model.PageList.PageSize, key = Model.Key })">末页</a>
            }
        }
      
    </div>
    
    <script type="text/javascript">
    
        function changePageSize(obj)
        {
            var pageSize = obj.value;
            window.location = "/Admin/@Model.Controller/@Model.Action?pageIndex=@pageIndex&pageSize="+pageSize+"&key=@Model.Key"
    
        }
    
        function search() {
            var key = document.getElementById("key").value;
            window.location = "/Admin/@Model.Controller/@Model.Action?pageIndex=1&pageSize=@pageSize&key=" + key;
    
        }
    
    </script>

    4.Index页面调用:

    @using ClothMvcApp.EF;
    @using ClothMvcApp.Helper;
    @{
        Layout = null;
        var list = ViewBag.data as PagedList.IPagedList<ClothMvcApp.EF.Product>;
    }
     @Html.Partial("_PagedListPartial", new PageListHelper<ClothMvcApp.EF.Product>() { Controller = "Cloth", Action = "Index", Key = ViewBag.key, PageList = list })
  • 相关阅读:
    spring boot 中统一异常处理
    An Errors/BindingResult argument is expected to be declared immediately after the model attribute, the @RequestBody or the @RequestPart arguments to which they apply: public com.rongrong.springboot.de
    SPI(Service Provider Interface)机制
    局域网的路由器&网卡
    Kafka
    限流算法
    生成对抗网络(GAN)
    神经网络
    AR介绍
    NIO的Buffer&Channel&Selector
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/5680971.html
Copyright © 2011-2022 走看看