HTML,
<div class="list_left_ul_new2">
    <ul>
    <asp:Repeater ID="rp_new_time" runat="server">
     <ItemTemplate>
       <li><a href='content.aspx?Id=<%# Eval("Article_ID")%>' title='<%# Eval("Article_Title")%>'><%#Eval("Article_Title")%></a><span><%#Eval("AddTime")%></span></li>
     </ItemTemplate>
    </asp:Repeater>
    </ul>
 </div> <div class="page"><strong>共有:50文章</strong><a href="#" target="_self">首页</a><a href="#" target="_self">上一页</a><span>1</span><a href="#" target="_self">2</a><a href="#" target="_self">3</a><a href="#" target="_self">4</a><a href="#" target="_self">5</a><a href="#" target="_self">....</a><a href="#" target="_self">下一页</a><a href="#" target="_self">尾页</a>   cs文件,/// 新闻-按时间排序
SqlDataReader rpnewtime = Artbll.GetDataReader("select  Article_ID,Article_Title,AddTime from CB_Article where [BigClassName] ='新闻' order by AddTime desc");
            rp_new_time.DataSource = rpnewtime;
            rp_new_time.DataBind();
读取绑定了,但是怎么分页呢?

解决方案 »

  1.   

    如果对Sql存储过程不太熟的话,你可以用杨老师的AspNetPager控件,这个使用起来比较简单。
      

  2.   

    用AspNetPager 吧,下面是代码:
    DataSet ds;
        SqlDataAdapter dr;
        SqlCommand com;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                      SqlConnection con = new SqlConnection("server=.;uid=sa;database=数据库"); 
                con.Open();
                com = new SqlCommand();
                com.Connection = con;
                com.CommandText = "select count(*) from Employees";
    AspNetPager1.AlwaysShow=true;
    AspNetPager1.PageSize=15;
                AspNetPager1.RecordCount = (int)com.ExecuteScalar();
                con.Close();
                DataListDataBind();
            }
        }
        private void DataListDataBind()
        {
            SqlConnection con = new SqlConnection("server=.;uid=sa;database=数据库");   
            dr = new SqlDataAdapter("select * from Employees", con);
            ds = new DataSet();
            dr.Fill(ds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "Employees"); 
            DataList1.DataSource = ds.Tables["Employees"]; 
            DataList1.DataBind(); 
      
        }    protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
        {
            AspNetPager1.CurrentPageIndex = e.NewPageIndex;
            DataListDataBind();
        }
      

  3.   

    Rpt_Tr.DataSource = sjList.Skip((PageNum - 1) * NumPerPage).Take(NumPerPage);sjList是一个List,可换DataTAble;
    pageNum是当前页码;
    NumPerPage是每页显示的条数;前台链接去改变页码即可。
      

  4.   

    创建PageDataSource对象
    进行分页,举例:
     PagedDataSource pds = new PagedDataSource();
     pds.DataSource = GetDataSet(sql).DefaultView;
     pds.AllowPaging = true;
     pds.PageSize = PageSize;
     pds.CurrentPageIndex = currentPage - 1;
      

  5.   

    PageDataSource分页可参考http://513394217.blog.163.com/blog/static/10979118620097811449598/
      

  6.   


    PagedDataSource pds = new PagedDataSource();
    protected void Page_Load(object sender, EventArgs e)
        {
            ShenHe = !Request.QueryString["ShenHe"].ToString().Equals("Yes");
            State = Request.QueryString["State"].ToString().Equals("2");
            if (!IsPostBack)
            {
                int maxPage = 0;
                ViewState["maxPage"] = maxPage.ToString();
                this.lblCurrentPage.Text = "1";
                BindInfoType();
                BindInfoDetails();
            }
        }protected void lbtnFirstPage_Click(object sender, EventArgs e)
        {
            this.lblCurrentPage.Text = "1";
            pds.CurrentPageIndex = 1;
            this.BindInfoDetails();
        }
        protected void lbtnPageUp_Click(object sender, EventArgs e)
        {
            this.lblCurrentPage.Text = Convert.ToString(Convert.ToInt32(this.lblCurrentPage.Text) - 1);
            this.BindInfoDetails();    }
        protected void lbtnNextPage_Click(object sender, EventArgs e)
        {
            this.lblCurrentPage.Text = Convert.ToString(Convert.ToInt32(this.lblCurrentPage.Text) + 1);
            this.BindInfoDetails();
        }
        protected void lbtnLastPage_Click(object sender, EventArgs e)
        {
            string maxPage = ViewState["maxPage"].ToString();
            this.lblCurrentPage.Text = maxPage;
            this.lbtnLastPage.Enabled = false;
            this.lbtnNextPage.Enabled = false;
            this.lbtnPageUp.Enabled = true;
            this.lbtnFirstPage.Enabled = true;
            this.BindInfoDetails();
        }
        protected void lbtnResponse_Click(object sender, EventArgs e)
        {
            if (txtPageIndex.Text.Trim() == "")
            {
                this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('请输入页数!');</script>");
            }
            else
            {
                this.lblCurrentPage.Text = txtPageIndex.Text;
                this.BindInfoDetails();
            }    }
    #region 分页方法
        /// <summary>
        /// 分页方法
        /// </summary>
        private void BindInfoDetails()
        {
            int curPage = Convert.ToInt32(this.lblCurrentPage.Text);
            pds.DataSource = QueryBuilder().DefaultView;
            pds.AllowPaging = true;
            pds.CurrentPageIndex = curPage - 1;
            pds.PageSize = 12;
            lblCount.Text = pds.DataSourceCount.ToString();
            lblCountPage.Text = pds.PageCount.ToString();
            ViewState["maxPage"] = lblCountPage.Text;
            if (curPage == 1)
            {
                this.lbtnFirstPage.Enabled = false;
                this.lbtnPageUp.Enabled = false;
            }
            else
            {
                this.lbtnFirstPage.Enabled = true;
                this.lbtnPageUp.Enabled = true;
            }
            if (curPage == pds.PageCount)
            {
                this.lbtnNextPage.Enabled = false;
                this.lbtnLastPage.Enabled = false;
            }
            else
            {
                this.lbtnNextPage.Enabled = true;
                this.lbtnLastPage.Enabled = true;
            }
            rptInfoDetails.DataSource = pds;
            rptInfoDetails.DataBind();
        }
        #endregion
      

  7.   

    private void dlBind()
            {
                int curpage = Convert.ToInt32(this.labPage.Text);            PagedDataSource ps = new PagedDataSource();
                //创建数据库连接对象
                SqlConnection sqlcon = new SqlConnection(strCon);
                sqlcon.Open();
                string sqlstr = "select a.*,c.* from tContractGoods a ,tContract c where a.fGoodsType=2 and a.fID=c.fID "; //执行数据库命令
                //创建填充数据集的适配器
                SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlstr, sqlcon);
                //创建数据集
                DataSet ds = new DataSet();
                //填充数据集
                MyAdapter.Fill(ds, "tContractGoods");
                ps.DataSource = ds.Tables["tContractGoods"].DefaultView;
                ps.AllowPaging = true;
                ps.PageSize = 8;
                ps.CurrentPageIndex = curpage - 1;
                this.lnkbtnUp.Enabled = true;
                this.LinkButton1.Enabled = true;
                this.LinkButton2.Enabled = true;
                this.LinkButton3.Enabled = true;
                if (curpage == 1)
                {
                    this.LinkButton3.Enabled = false; //不显示“第一页”按钮 
                    this.lnkbtnUp.Enabled = false;   //不显示“上一页”按钮
                }
                if (curpage == ps.PageCount)
                {
                    this.LinkButton1.Enabled = false;//不显示“下一页”按钮
                    this.LinkButton2.Enabled = false;//不显示“最后一页”按钮
                }
                this.labBackPage.Text = Convert.ToString(ps.PageCount);
                this.Repeater3.DataSource = ps;
                this.Repeater3.DataBind();
                sqlcon.Close();
            }
            //分页显示第一页数据
            protected void LinkButton3_Click(object sender, EventArgs e)
            {
                this.labPage.Text = "1";
                this.dlBind();
            }
            //分页显示上一页数据
            protected void lnkebtnup_Click(object sender, EventArgs e)
            {
                this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1);
                this.dlBind();
            }        //分页显示下一页数据
            protected void LinkButton1_Click(object sender, EventArgs e)
            {
                this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1);
                this.dlBind();
            }
            //分页显示最后一页数据
            protected void LinkButton2_Click(object sender, EventArgs e)
            {
                this.labPage.Text = this.labBackPage.Text;
                this.dlBind();
            }前段时间刚做好的分页,希望搂主有用。