zoukankan      html  css  js  c++  java
  • MVC数据库数据分页显示

    首先从数据库获取数据

    复制代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using mvctest.Models;
    
    namespace mvctest.customclass
    {
        
        public class getdataresource
        {
            public List<student> gd()
            {
                Model1 db=new Model1();
                var q = from p in db.Students select p;
                return q.ToList();
            }
        }
    }
    复制代码

    分页代码:网上复制的

    复制代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace mvctest
    {
       // 分页器Code
    
     public class PagingHelper<T>
        {
            //分页数据源
            public IEnumerable<T> DataSource { get; private set; }
            //每页显示记录的数量
            public int PageSize { get; private set; }
            //当前页数
            public int PageIndex { get; set; }
            //分页总页数
            public int PageCount { get; private set; }
    
            //是否有前一页
            public bool HasPrev { get { return PageIndex > 1; } }
            //是否有下一页
            public bool HasNext { get { return PageIndex < PageCount; } }
            //构造函数
            public PagingHelper(int pageSize, IEnumerable<T> dataSource)
            {
                this.PageSize = pageSize > 1 ? pageSize : 1;
                this.DataSource = dataSource;
                PageCount = (int)Math.Ceiling(dataSource.Count() / (double)pageSize);
            }
            //获取当前页数据
            public IEnumerable<T> GetPagingData()
            {
                return DataSource.Skip((PageIndex - 1) * PageSize).Take(PageSize);
            }
        }
    }
    复制代码

    控制器中的代码

    复制代码
    public ActionResult pagehelp(int pageIndex = 1)
            {
                
                getdataresource gd=new getdataresource();
                PagingHelper<student> StudentPaging = new PagingHelper<student>(3, gd.gd());
                StudentPaging.PageIndex = pageIndex;//指定当前页
                return View(StudentPaging);//返回分页器实例到视图
            }
    复制代码

    对应视图

    复制代码
    @using mvctest.Models
    @using mvctest.customclass
    @model mvctest.PagingHelper<student>
    
    
    @{
        ViewBag.Title = "Pagehelper";
    }
    <h2>Index</h2>
    @foreach (var Data in Model.GetPagingData())
    {
        <p>ID:@Data.id Name:@Data.name</p>
    }
    <p>
        @if (Model.HasPrev)
        {
            <a href="@Url.Action("pagehelp", "test", new { pageIndex = Model.PageIndex - 1 })">上一页</a>
        }
        else
        {
            <em style="color:Gray">上一页</em>
        }
        @if (Model.HasNext)
        {
            <a href="@Url.Action("pagehelp", "test", new { pageIndex = Model.PageIndex + 1 })">下一页</a>
        }
        else
        {
            <em style="color:Gray">下一页</em>
        }
    </p>
    复制代码
  • 相关阅读:
    Mockito测试
    linux笔记:shell编程-正则表达式
    linux笔记:shell基础-环境变量配置文件
    linux笔记:shell基础-bash变量
    linux笔记:shell基础-bash基本功能
    linux笔记:shell基础-概述和脚本执行方式
    linux笔记:文件系统管理-fdisk分区
    linux笔记:文件系统管理-分区、文件系统以及文件系统常用命令
    linux笔记:权限管理-sudo
    linux笔记:用户和用户组管理-用户管理命令
  • 原文地址:https://www.cnblogs.com/webenh/p/6127912.html
Copyright © 2011-2022 走看看