您的位置:首页 > 数据库

MVC数据库数据分页显示

2016-12-03 05:53 357 查看
首先从数据库获取数据

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>


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐