1、SqlServer数据库分页查询语句 如下:
(对于不同的数据库请参照我的 数据库分页查询文章)
--pageSize 每页显示的数量 --pageIndex 起始索引 select top pageSize * rom (select row_number() over(order by ID asc) as rownumber,* from student) temp_row where rownumber>((pageIndex-1)*pageSize);
css3分页样式
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <style type="text/css"> /*设置div样式的整体布局*/ .page-icon{ margin:20px 0 0 0;/*设置距离顶部20像素*/ font-size:0;/*修复行内元素之间空隙间隔*/ text-align:center;/*设置内容居中显示*/ } /*设置共有的的样式布局,主要是进行代码优化,提高运行效率*/ .page-icon a,.page-disabled,.page-next{ border:1px solid #ccc; border-radius:3px; padding:4px 10px 5px; font-size:14PX;/*修复行内元素之间空隙间隔*/ margin-right:10px; } /*对 a 标签进行样式布局 */ .page-icon a{ text-decoration:none;/*取消链接的下划线*/ color:#005aa0; } .page-current{ color:#ff6600; padding:4px 10px 5px; font-size:14PX;/*修复行内元素之间空隙间隔*/ } .page-disabled{ color:#ccc; } .page-next i,.page-disabled i{ cursor:pointer;/*设置鼠标经过时的显示状态,这里设置的是显示状态为小手状态*/ display:inline-block;/*设置显示的方式为行内块元素*/ 5px; height:9px; background-image:url(http://img.mukewang.com/547fdbc60001bab900880700.gif);/*获取图标的背景链接*/ } .page-disabled i{ background-position:-80px -608px; margin-right:3px; } .page-next i{ background-position:-62px -608px; margin-left:3px; } </style> </head> <body> <div class="page-icon"> <span class="page-disabled"><i></i>上一页</span> <span class="page-current">1</span> <a href="#">2</a> <a href="#">3</a> <a href="#">4</a> <a href="#">5</a> <a href="#">6</a> <a href="#">7</a> …… <a href="#">199</a> <a href="#">200</a> <a class="page-next" href="#">下一页<i></i></a> </div> </body> </html>
效果图如下:
对于控制层进行如下部署
public ActionResult Index() { int pageIndex; if (!int.TryParse(Request["pageIndex"],out pageIndex)) { pageIndex= 1; } //每页显示数据 int pageSize = 5; //统计总记录 int recordCount = db.Student.Where<Student>(s=>true).Count(); //总的页数 int pageCount = Convert.ToInt32(Math.Ceiling((double)recordCount / pageSize)); pageIndex = pageIndex < 1 ? 1 : pageIndex; pageIndex = pageIndex > pageCount ? pageCount : pageIndex; ///SQL语句操作部分自行添加 ViewData["stuList"] = stuList;//sb.ToString(); ViewData["pageIndex"] = pageIndex; ViewData["pageCount"] = pageCount; return View(); }
在前台部分通过paperHelper.cs进行调用
<div class="page-icon" style="text-align:center;margin-top:20px;"> @Html.Raw(@PageBarHelper.GetPagaBar((int)@ViewData["pageIndex"], (int)@ViewData["pageCount"])) </div>
paperHelper. cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MVCDemo { public class PageBarHelper { public static string GetPagaBar(int pageIndex, int pageCount) { if (pageCount == 1) { return string.Empty; } int start = pageIndex - 5;//计算起始位置.要求页面上显示10个数字页码. if (start < 1) { start = 1; } int end = start + 9;//计算终止位置. if (end > pageCount) { end = pageCount; //重新计算一下Start值. start = end - 9 < 1 ? 1 : end - 9; } StringBuilder sb = new StringBuilder(); if (pageIndex > 1) { //sb.AppendFormat("<a href='?pageIndex={0}' class='myPageBar'>上一页</a>", pageIndex - 1); sb.AppendFormat("<a href='?pageIndex={0}' class='page-disabled'>上一页</a>", pageIndex - 1); } for (int i = start; i <= end; i++) { if (i == pageIndex) { sb.Append(i); } else { sb.AppendFormat("<a href='?pageIndex={0}' class='page-current'>{0}</a>", i); } } if (pageIndex < pageCount) { sb.AppendFormat("<a href='?pageIndex={0}' class='page-next'>下一页</a>", pageIndex + 1); } return sb.ToString(); } } }