AspNetPager用法

最近在做数据管理系统的开发工作,遇到数据表中记录过多的问题,虽然asp.net中已有分页控件,但是非常简陋。AspNetPager是一款非常强大的分页控件,它的介绍我这里就不在赘述了,网上有很多它的介绍资料。但在学习使用它的过程中,网上有一些资料非常复杂,而且源代码没有给出,对熟练使用它造成了困扰。经过一个下午的摸索,终于能够成功使用。下面就写出运用AspNetPager控件的详细步骤,希望对新手有所帮助。

1、下载AspNetPager的dll文件,解压后添加到项目的bin目录中,并添加引用;

2、把控件添加到项目中

<webdiyer:AspNetPager id="AspNetPager1"  runat="server" Width="500px"
              FirstPageText="首页"   LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页"
              Height="40px" ShowInputBox="Always" TextAfterInputBox="页"  
              TextBeforeInputBox="跳转到第" AlwaysShow="True"
              onpagechanged="AspNetPager1_PageChanged"> 
</webdiyer:AspNetPager>

之后会出现创建控件错误,那是因为还没有对该控件进行注册,在aspx文件顶部加上:

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

3、AspNetPager最重要的是RecrdCount属性和PageChanged事件

protected void AspNetPager1_PageChanged(object sender, EventArgs e)
        {
            BindData();
        }

private void BindData( )

{

string sql = "select * from  MM_talbeSample";

this.AspNetPager1.PageSize = 15;//设置每页显示15条记录
           this.AspNetPager1.RecordCount = CountRecord();//获得表中总的记录数
           DataSet ds = CreatePage(sql, this.AspNetPager1.CurrentPageIndex, this.AspNetPager1.PageSize);;
          this.tableContent.DataSource = ds;
           this.tableContent.DataBind();

}

protected int CountRecord()
        {
            int pageNum = 0;
            string sql = "select COUNT(*) from MM_tableSample ";
            DataTable dt = SqlHelper.getDataTable(sql)//返回一个只有一行一列的表
            pageNum = Convert.ToInt16(dt.Rows[0].ItemArray[0]);
            return pageNum;
        }

public DataSet CreatePage(string sql, int currentPage, int pagesize)
        {
            SqlDataAdapter ada = new SqlDataAdapter(sql, SqlHelper.SqlConnectionStr);// SqlHelper.SqlConnectionStr为定义的sqlserver连接字符串
            DataSet ds = new DataSet();
            int startRow = (currentPage - 1) * pagesize;
            ada.Fill(ds, startRow, pagesize, "table");;
            return ds;
        }

上面的代码除了数据库操作以外,算是比较详细的了,之后就大功告成了。

上一篇:[LeetCode 题解]: Minimum Depth of Binary Tree


下一篇:Spark记录-Spark On YARN内存分配(转载)