第一步首先导入aspnetpager控件,然后再把他从工具箱中拖出,代码如下:

 <webdiyer:AspNetPager ID="aspnetpager1" runat="server" CustomInfoTextAlign="Left"
            FirstPageText="首页 " LastPageText ="末页" NextPageText=" 下一页" NumericButtonCount ="5"
            PageIndexBoxType="TextBox" PrevPageText="上一页 " ShowPageIndexBox ="Never" PageSize="20"
            AlwaysShow="True" CssClass="paginator" CurrentPageButtonClass="cpb" Wrap="True"
            BorderStyle="None" Width="100%" UrlPaging="True" CustomInfoClass="info" CustomInfoHTML =""
            CustomInfoSectionWidth="0px" OnPageChanged="aspnetpager1_PageChanged">
        </webdiyer: AspNetPager>
并且在页面的上部要引用下面代码:
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
之后要在引用里添加aspnetpager.dll引用
 
然后在后台page_load里添加以下分页代码:
                    Page_gkxx sp = new Page_gkxx();
 
                    aspnetpager1.EnableUrlRewriting = true ;
                aspnetpager1.UrlRewritePattern = "/zuowen/list-" + ParentTypeId + "-" + TypeId + "-" + GradeId + "-{0}.html" ;
                sp.InitBindData(Repeater1, aspnetpager1, "zuowen" , "id" , Sear(), GetFields());
其中InitBindData方法代码为:
public void InitBindData( Control c, Wuqi.Webdiyer. AspNetPager aspnet, string tbname, string tbcolumn, stringsqlwhere,string sfields)
        {
            aspnet.RecordCount = GetRows(tbname, sqlwhere);
            if (aspnet.RecordCount > 0)
            {
                string contype = c.GetType().ToString();
 
                DataSet ds = GetList(tbname, tbcolumn,sfields,aspnet.PageSize, aspnet.CurrentPageIndex, sqlwhere);
 
 
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (contype.IndexOf("GridView" ) != -1)
                    {
                        GridView gv = (GridView )c;
                        gv.DataSource = ds;
                        gv.DataBind();
                    }
                    else if (contype.IndexOf( "Repeater") != -1)
                    {
                        Repeater rep = (Repeater )c;
                        rep.DataSource = ds;
                        rep.DataBind();
                    }
                    else if (contype.IndexOf( "DataList") != -1)
                    {
                        DataList dl = (DataList )c;
                        dl.DataSource = ds;
                        dl.DataBind();
                    }
                    c.Visible = true ;
                }
            }
            else
            {
                c.Visible = false ;
            }
 
        }
private int GetRows( string tablename, string strwhere)
        {
            string strSql = "select count(1) from " + tablename + " with(nolock) where " + strwhere + "" ;
            return int .Parse( DbHelperSQL.GetSingle(strSql).ToString());
        }
        /// <summary>
        /// 分页获取数据列表
        /// </summary>
        /// <param name="PageSize"></param>
        /// <param name="PageIndex"></param>
        /// <param name="strWhere"></param>
        /// <returns></returns>
        public DataSet GetList( string tablename, string keyname, string sfields, int  PageSize, int PageIndex, stringstrWhere)
        {
            SqlParameter [] parameters = {
                                                                                 new SqlParameter ( "@tblName", SqlDbType .VarChar, 255),
                                                                                 new SqlParameter ( "@fldName", SqlDbType .VarChar, 255),
                    new SqlParameter ( "@sFields", SqlDbType .VarChar,1000),
                                                                                 new SqlParameter ( "@PageSize", SqlDbType .Int),
                                                                                 new SqlParameter ( "@PageIndex", SqlDbType .Int),
                                                                                 new SqlParameter ( "@IsReCount", SqlDbType .Bit),
                                                                                 new SqlParameter ( "@OrderType", SqlDbType .Bit),
                                                                                 new SqlParameter ( "@strWhere", SqlDbType .VarChar,1000),
                                                                                };
            parameters[0].Value = tablename;
            parameters[1].Value = keyname;
            parameters[2].Value = sfields;
            parameters[3].Value = PageSize;
            parameters[4].Value = PageIndex;
            parameters[5].Value = 0;
            parameters[6].Value = 1;
            parameters[7].Value = strWhere;
            return DbHelperSQL .RunProcedure( "Up_GetRecordByPage", parameters, "ds" );
        }
这是在DbHelperSQL 中的方法:
  /// <summary>
    /// 执行存储过程返回dataset
    /// </summary>
    /// <param name="storedProcName"> 存储过程名 </param>
    /// <param name="parameters"> 存储过程参数 </param>
    /// <param name="tableName"> DataSet结果中的表名 </param>
    /// <returns> DataSet</returns>
    public static DataSet RunProcedure( string storedProcName, IDataParameter [] parameters, string tableName)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            DataSet dataSet = new DataSet();
            connection.Open();
            SqlDataAdapter sqlDA = new SqlDataAdapter();
            sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
            sqlDA.Fill(dataSet, tableName);
            connection.Close();
            return dataSet;
        }
    }
 
    /// <summary>
    /// 执行一条计算查询结果语句,返回查询结果(object)。
    /// </summary>
    /// <param name="SQLString"> 计算查询结果语句 </param>
    /// <returns> 查询结果(object) </returns>
    public static object GetSingle( string SQLString)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            using (SqlCommand cmd = new SqlCommand(SQLString, connection))
            {
                try
                {
                    connection.Open();
                    object obj = cmd.ExecuteScalar();
                    if ((Object .Equals(obj, null)) || ( Object .Equals(obj, System.DBNull .Value)))
                    {
                        return null ;
                    }
                    else
                    {
                        return obj;
                    }
                }
                catch (System.Data.SqlClient.SqlException e)
                {
                    connection.Close();
                    connection.Dispose();
 
                    throw new Exception(e.Message);
                }
 
            }
        }
    }
这是Sear()方法的代码:
         /// <summary>
        /// 根据传值进行搜索分页
        /// </summary>
        /// <returns></returns>
        private string Sear()
        {
            StringBuilder sb = new StringBuilder();
            sb.Append( "1=1" );
            if (ParentTypeId != 0)
                sb.AppendFormat( " and ptypeid={0}" ,ParentTypeId);
            if (TypeId != 0)
                sb.AppendFormat( " and typeid={0}" ,TypeId);
            if (GradeId != 0)
                sb.AppendFormat( " and gid={0}" , GradeId);
            return sb.ToString();
        }
这是获取分页中显示的内容代码:
  private string GetFields()
        {
            return "id,title,addtime,Content,typeid,ptypeid,views" ;
        }
 
接着添加分页的事件:
private void ZuowenHotBind()
        {
            DataSet ds = ZuowenDal .GetList(10, "addtime>'" + DateTime .Now.AddMonths(-3).ToString() + "'" , "views desc" );
            if (ds.Tables[0].Rows.Count > 0)
            {
                RepHot.DataSource = ds;
                RepHot.DataBind();
            }
        }
以上操作基本完成了aspnetpager分页是实现,又不懂的问题可以直接评论回复。
(代码用到了封装的DbHelperSQL.cs)

.net中实现aspnetpager分页的更多相关文章

  1. AspNetPager分页控件配置

    AspNetPager是asp.net中常用的分页控件,下载AspNetPager.dll,添加引用,在工具栏就可以看到AspNetPager控件: 拖过来之后,设置如下属性: <webdiye ...

  2. AspNetPager分页控件

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

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

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

  4. 【Bootstrap3.0建站笔记三】AspNetPager分页,每一列都可排序

    1.AspNetPager分页,实现每一列都可排序:           (1).须要将默认排序字段放在HTML页面中.           (2).排序字段放置为td节点的属性. 如图: 实现的效果 ...

  5. NHibernate初学三之条件查询(Criteria Queries)与AspNetPager分页实例

    NHibernate除了SQL与HQL两种查询操作外,还有一种就是条件查询Criteria,本文将从网上整理一些Criteria的理论及小实例,最后通过一个结合AspNetPager分页来加深理解,必 ...

  6. SpringMVC结合easyUI中datagird实现分页

    SpringMVC结合easyUI中datagird实现分页 DataGrid以表格形式展示数据,并提供了丰富的选择.排序.分组和编辑数据的功能支持.轻量级,单元格合并.多列标题.冻结列和页脚只是其中 ...

  7. AspNetPager分页

    1.页面部分 <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefi ...

  8. 给AspNetPager分页控件添加bootstrap样式

    AspNetPager分页控件算是比较好用的一个分页控件了.想要结合bootstrap使用,官方代码入口 .pagination a[disabled]{ color: #777;cursor: no ...

  9. sf中标准的分页功能介绍

    世上本无事,庸人自扰之.我喜欢一个相对比较安静的环境去学习和工作,希望在一个掉一根针的声音都能够听到的环境中,但是有时候往往相反,一片嘈杂,我改变不了周围的环境,只能改变自己,其实这些都没有什么,也许 ...

随机推荐

  1. 【剑指Offer】66、机器人的运动范围

      题目描述:   地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时 ...

  2. SQL With As 用法Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介

    Sql 四大排名函数(ROW_NUMBER.RANK.DENSE_RANK.NTILE)简介   排名函数是Sql Server2005新增的功能,下面简单介绍一下他们各自的用法和区别.我们新建一张O ...

  3. Oracle中的rownum 和rowid的用法和区别

    Oracle中的rownum 和rowid的用法和区别   1.rownum是伪列,是在获取查询结果集后再加上去的 (获取一条记录加一个rownum).对符合条件的结果添加一个从1开始的序列号. eg ...

  4. axios的基本概念和安装以及配置方法

    ajax:异步请求,是一种无需再重新加载整个网页的情况下,能够更新部分网页的技术 axios:用于浏览器和node.js的基于promise的HTTP客户端 1.从浏览器制作XMLHttpReques ...

  5. 51nod1103 N的倍数

    [题解] 先预处理出模N意义下的前缀和sum[i]. 1.如果sum[i]=0,那么1~i的数之和就是N的倍数 2.sum[i]%N总共有0~N-1这N种情况:根据1,如果sum[i]为0则必定有解: ...

  6. vue 组件通信传值

    父子组件通信: 子组件 <template> <div> <h3 @click="alerrt"> 我是子组件一</h3> < ...

  7. CF #321 (Div. 2) D

    不说了,爆内存好几次,后来醒起状态有重复... 状压+TSP #include <iostream> #include <cstdio> #include <cstrin ...

  8. 2.3-STP生成树

    2.3-STP生成树     单点失效(signle point of failure)及其解决方法:     当两个Segement之间只有一条物理连接时就有可能出现单点失效→ 单方面的故障导致全网 ...

  9. SSH整合开发时Scope为默认时现象与原理

    1.前提知识 1)scope默认值 进行SSH整合开发时,Struts2的action须要用spring容器进行管理,仅仅要涉及到类以bean的形式入到spring容器中.无论是xml配置还是使用注解 ...

  10. monitor weblogic server ,Very simple to use, weblogic监控、巡检、故障简单小工具

        1. 开发了一个简单的监视weblogic执行情况的小程序.各位朋友下载下来试试,不用登陆console就能够知道server的执行状况,包含了jvm.线程.jdbc.状态jms等:另一个更简 ...