MVC数据库数据分页显示
2015-07-27 15:47
218 查看
首先从数据库获取数据
分页代码:网上复制的
控制器中的代码
对应视图
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>
相关文章推荐
- Oracle 锁表 解锁
- sqlplus的使用
- yum 安装mysql
- mysql控制流函数
- Ubuntu下mysql数据库插入中文出现乱码的解决方法
- linux下oracle手动启动服务和监听命令
- Oracle远程连接
- mysql出现ERROR : 2006, 'MySQL server has gone away'
- mysql定时备份
- Oracle11g的注册表清理
- Oracle SqlPlus 方向键的方法和解决的退格键失效
- 使用copy函数完成数据库迁移
- 64 mysql 字段批量替换
- Mysql 常用函数
- 装Oracle12C时遇到没有权限访问临时位置的解决方法
- 45 个非常有用的 Oracle 查询语句
- mysql输入密码后闪退问题
- Oracle 列转行函数 Listagg()示例
- Oracle Fusion Middleware Concepts
- oracle 查询一个表里相同记录数