ASP.NET Repeater_第五篇_分页03-04

+++ 前台代码

<table>

 <tr><td align ="left" >hehe</td></tr>

 <tr>

  <td>  

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

   <HeaderTemplate >

    <table>

    <tr>

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

    </tr>

   </HeaderTemplate>

   <ItemTemplate >

    <tr>

        <td ><%#Eval("ENAME")%></td>

    </tr>

   </ItemTemplate>

   <AlternatingItemTemplate >

    <tr>

        <td><a href ='repeater06test.aspx?id=<%#Eval("EMPNO") %>'><%#Eval("ENAME")%></a></td>

    </tr>

   </AlternatingItemTemplate>

   <FooterTemplate >

    <tr>

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

    </tr>

    </table>

   </FooterTemplate>

   </asp:Repeater>

  </td>

 </tr>

 <tr>

  <td>

   <asp:HyperLink ID="first" runat="server">首页</asp:HyperLink>

   <asp:HyperLink ID="next" runat="server" Width="49px">下一页</asp:HyperLink>

   <asp:HyperLink ID="up" runat="server">上一页</asp:HyperLink>

   <asp:HyperLink ID="last" runat="server">末页</asp:HyperLink>

  </td>

 </tr>

 <tr>

  <td>当前页为:<asp:Label ID="lblCurrentPage" runat="server" Text="Label"></asp:Label><br />

  <asp:Label ID="labPage" runat="server" Text="Label"></asp:Label></td>

 </tr>

</table>

+++ 后台代码

private void pds()

{

    OracleConnection conn = new OracleConnection("Data Source=ora9; User ID=scott; Password=tiger; Unicode=True");

    DataSet ds = new DataSet();

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

    daEMP.Fill(ds, "EMP");

    PagedDataSource pds = new PagedDataSource();

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

    pds.AllowPaging = true;

    pds.PageSize = 8;

    int CurPage;

    if (Request.QueryString["Page"] != null)

    {

        CurPage = Convert.ToInt32(Request.QueryString["Page"]);

    }

    else

    {

        CurPage = 1;

    }

    pds.CurrentPageIndex = CurPage - 1;

    int Count = pds.PageCount;

    lblCurrentPage.Text = "当前页:" + CurPage.ToString();

    labPage.Text = Count.ToString();

    if (!pds.IsFirstPage)

    {

        this.first.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=1";

        this.last.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(Count - 1); ;

        up.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);

    }

    else

    {

        this.first.Visible = false;

        this.last.Visible = false;

    }

    if (!pds.IsLastPage)

    {

        next.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);

    }

    else

    {

        this.first.Visible = false;

        this.last.Visible = false;

    }

    Repeater1.DataSource = pds;

    Repeater1.DataBind();

}

protected void Page_Load(object sender, EventArgs e)

{

    if (!IsPostBack)

    {

        pds();

        this.first.Visible = true;

        this.last.Visible = true;

    }

}

+++ 说明

(1) PagedDataSource类的数据源必须是视图,如 DataTable.DefaultView,不能是 DataTable

(2) 不同于之前的一篇,下一页、上一页等按钮不在 Repeater FooterTemplate里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值