最近在做数据管理系统的开发工作,遇到数据表中记录过多的问题,虽然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;
        }

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

AspNetPager用法的更多相关文章

  1. AspNetPager控件的最基本用法

    AspNetPager控件是一个基于.net的第三方免费开源控件,具有开发高效.使用方便.功能完整等优点.它弥补了GridView内置分页以及PageDatasource类辅助分页的不足,将分页数据逻 ...

  2. 【转】AspNetPager分页控件用法

    AspNetPager分页控件解决了分页中的很多问题,直接采用该控件进行分页处理,会将繁琐的分页工作变得简单化,下面是我如何使用AspNetPager控件进行分页处理的详细代码: 1.首先到www.w ...

  3. AspNetPager 分页的详细用法(ASP.NET)

    1.[添加AspNetPager.dll文件] 2.[使用方法] public static DataTable GetRecord(SystemModel.Pager mt, ref int Tot ...

  4. PagedDataSource、Repeater以及AspNetPager在ASP.NET上分页。

    一.前台使用服务器标签 1.1使用Repeater控件 <asp:Repeater ID="Repeater1" runat="server"> & ...

  5. GridView的常规用法

    GridView控件在Asp.net中相当常用,以下是控件的解释,有些是常用的,有些是偶尔用到的,查找.使用.记录,仅此而已.(最后附带DropDownList控件) ASP.NET中GridView ...

  6. ASP.NET真分页_接前篇引用AspNetPager.dll进行数据分页

    一.前端准备工作 1.之前我写到过<Asp.net中引用AspNetPager.dll进行数据分页>  这种分页方式只能在前台将数据分页,而每次点击查询时对目标数据库还是全查询,这样不仅会 ...

  7. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  8. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  9. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

随机推荐

  1. IAR USING PRE- AND POST-BUILD ACTIONS

    Using pre-build actions for time stamping If necessary, you can specify pre-build and post-build act ...

  2. MySQL中你肯定不知道的int隐情

    MySQL中定义id字段为int类型,但是你知道它内部是什么玩意吗? 1.如果定义int类型,但是不声明长度,系统默认为11个长度(这个大家都知道): 2.如果指定长度小于11,实际上系统还是默认为1 ...

  3. Jquery 方式获取 iframe Dom元素

    Jquery 方式获取 iframe Dom元素 測试页面代码: <html>  <head>   <title>jquery方式,訪问iframe页面dom元素& ...

  4. Response.Redirect 打开新窗体的两种方法

    普通情况下,Response.Redirect 方法是在server端进行转向,因此,除非使用 Response.Write("<script>window.location=' ...

  5. jquery 预览提交的表单

    预览表单,查看后确认提交或者返回重填 演示 XML/HTML Code <form class="mform" id="myform" method=&q ...

  6. Codeforces Round #340 (Div. 2) D. Polyline 水题

    D. Polyline 题目连接: http://www.codeforces.com/contest/617/problem/D Descriptionww.co There are three p ...

  7. CodeForces 176C Playing with Superglue 博弈论

    Playing with Superglue 题目连接: http://codeforces.com/problemset/problem/176/C Description Two players ...

  8. Codeforces Round #306 (Div. 2) D. Regular Bridge 构造

    D. Regular Bridge Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/550/pro ...

  9. archlinux随记

    xrdb -merge .Xresources才能使urxvt的配色显示正常 xpmroot 包含在fvwm包中

  10. Android设置窗口、控件透明度

    设置透明效果的方法如下: 1.在布局文中设置透明效果 android:background="@android:color/transparent" (通过android自带颜色设 ...