首页 > 代码库 > MVC数据库数据分页显示
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="http://www.mamicode.com/@Url.Action("pagehelp", "test", new { pageIndex = Model.PageIndex - 1 })">上一页</a> } else { <em style="color:Gray">上一页</em> } @if (Model.HasNext) { <a href="http://www.mamicode.com/@Url.Action("pagehelp", "test", new { pageIndex = Model.PageIndex + 1 })">下一页</a> } else { <em style="color:Gray">下一页</em> }</p>
MVC数据库数据分页显示
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。