ASP.NET Repeater 分页显示

通过创建多一个Repeater 来作为分页用

<div style="overflow: hidden; padding-bottom: 20px; text-align: center;">
                                <asp:Repeater ID="rptPaging" runat="server" OnItemCommand="rptPaging_ItemCommand">
                                    <ItemTemplate>
                                            <asp:LinkButton ID="btnPage" style="background:darkgray; border:solid 1px #666; font:8pt tahoma;" CommandName="Page" CommandArgument="<%# Container.DataItem %>" runat="server" ForeColor="White" Font-Bold="True"><%#Container.DataItem %>
                                            </asp:LinkButton>
                                   </ItemTemplate>
                                </asp:Repeater>
                           </div>

后台代码

//此属性将包含当前页码
    public int PageNumber
    {
        get
        {
            if (ViewState["PageNumber"] != null)
            {
                return Convert.ToInt32(ViewState["PageNumber"]);
            }
            else
            {
                return 0;
            }
        }
        set { ViewState["PageNumber"] = value; }
    }
//绑定记录
    public void BindList()
    {
        DataTable dt = new DataTable();

        if (am.ReadMyBrowse(uiv.UserID, out dt) > 0)
        {
            if (dt != null && dt.Rows.Count > 0)
            {

                PagedDataSource pgitems = new PagedDataSource();
                pgitems.DataSource = dt.DefaultView;
                pgitems.AllowPaging = true;

                pgitems.PageSize = 20;
                pgitems.CurrentPageIndex = PageNumber;
                if (pgitems.PageCount > 1)
                {
                    rptPaging.Visible = true;
                    ArrayList pages = new ArrayList();
                    for (int i = 0; i <= pgitems.PageCount - 1; i++)
                    {
                        pages.Add((i + 1).ToString());
                    }
                    rptPaging.DataSource = pages;
                    rptPaging.DataBind();
                }
                else
                {
                    rptPaging.Visible = false;
                }

                repeater1.DataSource = pgitems;
                repeater1.DataBind();
                //repeater1.DataSource = dt;
                //repeater1.DataBind();
            }
            else
            {
                repeater1.DataSource = "";
                repeater1.DataBind();
                rptPaging.DataSource = "";
                rptPaging.DataBind();
            }
        }
        else
        {
            repeater1.DataSource = "";
            repeater1.DataBind();
            rptPaging.DataSource = "";
            rptPaging.DataBind();
        }
    }
protected void rptPaging_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)
{
    PageNumber = Convert.ToInt32(e.CommandArgument) - 1;
    BindRepeater();
}

效果:

时间: 2024-10-09 21:49:21

ASP.NET Repeater 分页显示的相关文章

ASP.NET中分页显示

分页详解,ASP.NET书本  "数据空间应用" (1)使用GridView控件分页显示 步奏:1.添加GridView控件 2.将GrideView控件的AllowPaging属性设置为True,表示允许分页  3.将PageSize属性设置一个数字,用来控制每页中显示的记录数 4.最后在GridView控件的PageIndexChanging事件中设置GridView控件的PageIndex属性为当前页的索引值,并重新绑定GridView控件 (2)DataList控件中的数据 u

asp网络编程:ASP中实现分页显示的七种武器

在微软的ASP编程体系中,ADO对象的建立,使得从网页访问数据库成为一件易事,特别是ADO的Recordset对象使得控制数据的输出显示更为方便.自由.而在Visual InterDev6.0(以下简称VI6.0)中,由于Script Object Model(以下简称SOM).Design-Time Control(以下简称DTC)以及Data Environment Object Model(以下简称DEOM)等对象模型的引入,使网页对数据库的访问设计显得更为方便. 因为主题方面的原因,关于

repeater 分页显示数据

表名:ChinaStates 控件:Repeater 查询代码DA: public class ChinaStatesDA { private DataClassesDataContext Context;              // 构建LINQ public ChinaStatesDA() { Context = new DataClassesDataContext(); } public List<ChinaStates> Select(int nowye,int numbers)

12.23,repeater 分页显示

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page{ public TextDataContext context = new TextDataContext(); protecte

ASP.NET Repeater绑定数据并实现分页

分类: 显示当前页码Label属性 值ID LabNowPageNumber text    1 ×××××××××××××××××××××××××××××××××××××××××××显示总页码Label属性 值ID LabAllPageNumber text    "" ××××××××××××××××××××××××××××××××××××××××××××××× LinkButton属性  值ID  LnkBtnOnetext  第一页 ××××××××××××××××××××××

ASP.NET使用ListView数据绑定控件和DataPager实现数据分页显示(一)

为什么使用ListView+DataPager的方式实现分页显示? .net提供的诸多数据绑定控件,每一种都有它自己的优点和缺点.如果需要对数据进行操作,如果数据量不大的情况下,DataList和GridView是最好的选择,但是他们会生产额外的<table><tr><tbody><td>标签.如果只是罗列出来一些简单的数据,出于对性能的考虑,repeater必然是首选.当然ListView和DataPager的组合必将是开发中的黄金组合,无论从性能上和功能

Asp 解析 XML并分页显示

Asp 解析 XML并分页显示 Asp 解析 XML并分页显示,示例源码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <hea

ASP.NET Repeater控件实现简单分页

早上,有看MSDN,看到了 PagedDataSource 类 http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.pageddatasource(v=vs.110).aspx 想起以前Insus.NET只对Gridview和DataList控件进行自定义分页.<GridView和DataList分页组件与用户控件>http://www.cnblogs.com/insus/archive/2009/03/19/14

ASP基础教程:ADO存取数据库时如何分页显示

<动态网站设计十八般武艺 --ASP 篇>一文从第一期至今已和朋友们一起度过了大半个年头,相信通过在这一段时间中的学习.实践到再学习.再实践,大家已经能够熟练运用 ASP 的内建对象. ActiveX 组件去编写一些基本的 ASP 应用程序.从我收到的朋友们的来信中可以明显的感觉到,大家的 ASP 功力正不断地提升.最近很多朋友来信希望我写一些 ASP 在现实运用中的实例.因此,从本期开始我决定将<动态网站设计十八般武艺 --ASP 篇>的定位从介绍和学习 ASP 基础知识转向到