aspnetPage分页控件

项目里面有一个分页,刚好知道了aspnetPage分页控件,现在就把实现步骤和代码贴出来分享一下,如有错误欢迎指正。

http://www.webdiyer.com  该控件原网址。里面文档

1.首先需要添加NuGet包,包名:AspNetPager

2. 在aspx页面头部添加

<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>

这样就可以在页面中使用该控件

3.在需要分页的地方使用控件,同样是在aspx页面

         <div id="AspNetPager1" class="flickr" style="text-align: center;">
                    <webdiyer:AspNetPager ID="AspNetPager2" runat="server" RecordCount="288" Width="100%"
                        NextPageText="下一页" PrevPageText="上一页"  OnPageChanged="AspNetPager2_PageChanged" PageSize="2">
                    </webdiyer:AspNetPager>
                </div>

该控件里面有很多属性,在上面的网址里面有帮助文档,可以去查阅。简单说几个比较重要的

 PageSize:页面可显示几条数据

OnPageChanged:就是点击事件

4.在aspx.cs 里面绑定

JobBLL JB = new JobBLL();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["name"] != null)
            {
                div1.Visible = false;
            }
            if (!IsPostBack)
            {
                int pageCount = (int)JB.pageCount();//查出数据的总数
                AspNetPager2.RecordCount = pageCount;//把数据的总数赋值给控件的ReacrdCount属性
                bindData();
            }                        
        }
    //该方法实现点击void bindData()
        {
            DataTable dt = JB.PageSort(AspNetPager2.StartRecordIndex, AspNetPager2.EndRecordIndex, false);//把查询出来的数据绑定到控件上
        /*
        *sql语句为存储过程
        *
StartRecordIndex:当前页数据记录的起始索引。  
      *
EndRecordIndex:当前页最后一条记录的索引 
        */ Repeater1.DataSource
= dt; Repeater1.DataBind(); } protected void AspNetPager2_PageChanged(object sender, EventArgs e) { bindData();//点击刷新 }

贴出存储过程

create procedure Proc_Page1 
(@startRecordIndex int,
@endRecordIndex int,
@docount bit)
as
if(@docount=1)
select count(*) from Job
else
begin
 with temptbl as (
SELECT ROW_NUMBER() OVER (ORDER BY CreateTime desc)AS Row, * from Job O )
 SELECT * FROM temptbl where Row between @startRecordIndex and @endRecordIndex
end
go
OnPageChanged
原文地址:https://www.cnblogs.com/xinqi1995/p/8087332.html