SqlServer分页操作

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>
View Code

效果图如下:

对于控制层进行如下部署

 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();
        }
View Code

在前台部分通过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();
       }
    }
}
View Code
原文地址:https://www.cnblogs.com/senfanxie/p/11128643.html