ASP.NET Repeater_第三篇_分页01-04

+++ 前台代码

<asp:Repeater ID="Repeater1" runat="server">

    <HeaderTemplate >

    <table>

    <tr>

        <td >自定义头模板</td>

    </tr>

    </HeaderTemplate>

    <ItemTemplate >

    <tr>

        <td>序号:<%# Eval("EMPNO") %></td>

        <td>编码:<%# Eval("ENAME") %></td>

    </tr>

    </ItemTemplate>

    <FooterTemplate >

    <tr>

        <td>自定义脚模板</td>

    </tr>

    </table>

    </FooterTemplate>

</asp:Repeater>

当前页:<asp:Label ID="num" runat="server"></asp:Label>

<br />

<asp:Button ID="BtnUp" runat="server" οnclick="BtnUp_Click" Text="上一页" />

<asp:Button ID="BtnDown" runat="server" οnclick="BtnDown_Click" Text="下一页" />

+++ 后台代码

public void Bind()

{

    string connStr = "Data Source=ora9; User ID=scott; Password=tiger; Unicode=True";

    OracleConnection conn = new OracleConnection(connStr);

    OracleDataAdapter da = new OracleDataAdapter("SELECT * FROM EMP", conn);

    DataSet ds = new DataSet();

    da.Fill(ds, "EMP");

    PagedDataSource pds = new PagedDataSource();

    pds.DataSource = ds.Tables["EMP"].DefaultView;

    pds.AllowPaging = true;

    pds.PageSize = 2;

    int curpage = Convert.ToInt32(num.Text);

    this.BtnDown.Enabled = true;

    this.BtnUp.Enabled = true;

    pds.CurrentPageIndex = curpage - 1;

    if (curpage == 1)

    {

        this.BtnUp.Enabled = false;

    }

    if (curpage == pds.PageCount)

    {

        this.BtnDown.Enabled = false;

    }

    this.Repeater1.DataSource = pds;

    this.Repeater1.DataBind();

}

protected void Page_Load(object sender, EventArgs e)

{

    if (!IsPostBack)

    {

        num.Text = "1";

        Bind();

    }

}

protected void BtnUp_Click(object sender, EventArgs e)

{

    this.num.Text = Convert.ToString(Convert.ToInt32(num.Text) - 1);

    Bind();

}

protected void BtnDown_Click(object sender, EventArgs e)

{

    this.num.Text = Convert.ToString(Convert.ToInt32(num.Text) + 1);

    Bind();

}

+++ 说明

(1) 虽然Repeater控件本身没有分页功能,但与其他类似的控件相比,更加灵活,所以本人比较喜欢这个控件;

(2) 本例是一个最简单的分页例子,单击两个按钮,查看上一条或下一条的记录;

(3) 本例使用 Repeater 控件,利用 PagedDataSource 类实现分页功能。一些本身具有分页功能的控件,如GridView,也都是使用了PagedDataSource类;

(4) 本例利用 TextBox 控件的 Text 属性来设置页码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值