html 代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="repeaterControl.aspx.cs" Inherits="repeaterControl" %>

<!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" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        &nbsp;<asp:Panel ID="Panel1" runat="server" Height="136px" Width="232px">
        <asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
         <%# DataBinder.Eval(Container.DataItem,"LastName") %>
         <%# DataBinder.Eval(Container.DataItem,"FirstName") %>
        </ItemTemplate>
        <AlternatingItemTemplate>
        <font color="blue">
     <%# DataBinder.Eval(Container.DataItem,"PhotoPath") %>
        </font>
        </AlternatingItemTemplate>
        <FooterTemplate>
         <h3>页角</h3>
        </FooterTemplate>
        <HeaderTemplate>
         <h3>页头</h3>
        </HeaderTemplate>
        <SeparatorTemplate><hr color="red" size="1"></SeparatorTemplate>
        </asp:Repeater>
        </asp:Panel>
        <br />
        <asp:Label ID="Label1" runat="server" Text="当前页:" Width="64px"></asp:Label>
        <asp:Label ID="Label2" runat="server" Text="Label" Width="40px"></asp:Label>&nbsp;
        <asp:Button ID="btnPro" runat="server" OnClick="btnPro_Click" Text="上一页" />
        &nbsp;<asp:Button ID="btnNext" runat="server" OnClick="btnNext_Click" Text="下一页" />
        &nbsp;
        <asp:Label ID="Label3" runat="server" Text="总页数:"></asp:Label>&nbsp;
        <asp:Label ID="Label4" runat="server" Text="Label" Width="40px"></asp:Label><br />
    </div>
    </form>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------------------
repeaterControl.aspx.cs 代码

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class repeaterControl : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            //这里是先定义第一页
            this.Label2.Text = "1";
            //在实现方法中的绑定
            dataBingToRepeate();
     
        }
    }
    private void dataBingToRepeate()
    {
        //先获取是第几页
        int curPage = Convert.ToInt32(this.Label2.Text);
        //实例化类(连接数据库的方法,这里没有定义为静态的)
        DB con = new DB();
        SqlConnection conn = con.createConn();
        SqlDataAdapter sda = new SqlDataAdapter();
        sda.SelectCommand = new SqlCommand("select * from Employees", conn);
        DataSet ds = new DataSet();
        sda.Fill(ds, "emp");
        //这个类是GridView中的分页类在这个命名空间下
        // System.Web.UI.WebControls.PagedDataSource--记住
        System.Web.UI.WebControls.PagedDataSource ps = new PagedDataSource();
        //这个类要实现一个数据表的视图(课上说是一个接口)
        ps.DataSource = ds.Tables["emp"].DefaultView;
        //设置这个类允许分页
        ps.AllowPaging = true;
        //设置三条记录一页
        ps.PageSize = 3;
        this.Label4.Text = ps.PageCount.ToString();
        //当前页的索引应该是从"0"开始.
        //所有设置为curPage-1以后显示的
        //时候就按索引来显示,比如:第二页
        //的索引就是1.
        ps.CurrentPageIndex = curPage-1;
        //先让上一页和下一页的两个
        //按钮为可用
        this.btnPro.Enabled = true;
        this.btnNext.Enabled = true;
        if (curPage == 1)
        {
            //当是第一页的时候上一页为不可用
            this.btnPro.Enabled= false;
        }
        if (curPage == ps.PageCount)
        {
            //当是最后一页的时候下一页为不可用
            this.btnNext.Enabled = false;
        }
        //Repeater控件绑定获得视图的类
        this.Repeater1.DataSource = ps;
        this.Repeater1.DataBind();
    }
    protected void btnPro_Click(object sender, EventArgs e)
    {
        //记得WEB程序在每次提交的时候都要重新绑定一次
        this.Label2.Text=Convert.ToString(Convert.ToInt32(this.Label2.Text)-1);
        this.dataBingToRepeate();
    }
    protected void btnNext_Click(object sender, EventArgs e)
    {
        this.Label2.Text = Convert.ToString(Convert.ToInt32(this.Label2.Text) + 1);
        this.dataBingToRepeate();
    }
}

posted on 2006-11-17 23:31  小角色  阅读(315)  评论(0)    收藏  举报