• Repeater分页


    其实Repeater分页是一个很简单的过程,只要你仔细看里面的逻辑,相信你也可以做到!

    准备页面素材

       1、前台页面需要放置一个 Repeater ,用来显示您索要显示的数据。

     2、一个隐藏域 lable 用来控制页数。

       3、 两个图片按钮 用来实现点击切换页码。

    后台

       1、数据源,我们使用Datatable,用来绑定Repeater。

       2、分页控制数据源 PagedDataSource,用来分页填充。

     

    原理:

       设置PagedDataSource显示条数,然后将PagedDataSource的当前页的数据填充给Repeater,这样就实现了分页效果。

     

    前台代码:

    <%@ Page Language="C#" AutoEventWireup="true" Title="Repeater分页" CodeFile="myRandom.aspx.cs" Inherits="myRandom" %>
    
    <!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 style="900px; background-color:#ccc; height:30px;">
    
            <!--上一页按钮 -->
            <asp:imageButton  ImageUrl="~/testimage/014.png" ImageAlign="AbsMiddle"
                 ID="btnP" runat="server"  onclick="btnP_Click" />
            
            <!-- Repeater -->
            <asp:repeater ID="rptNavigate" runat="server">
                <ItemTemplate>
                    <a style="200px; height:30px; vertical-align:middle; "><%#Eval("b_name") %></a>
                </ItemTemplate>
           </asp:repeater>
    
           <!-- 下一页按钮  -->
            <asp:imageButton  ImageUrl="~/testimage/013.png" ID="btnN" runat="server" 
                 onclick="btnN_Click" 
                style="text-align: right" ImageAlign="AbsMiddle" />
    
            <!-- 隐藏域ID, 用来控制当前 PagedDataSource 的页数  -->
            <asp:Label Visible="false" ID="lblCount" runat="server" Text="1"></asp:Label>
            
        </div>
        </form>
    </body>
    </html>
    
    

     

    后台代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Drawing;
    using System.Data;
    
    public partial class myRandom : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Bind();//在窗体加载的时候调用
        }
        public void Bind()
        {
            string strSql = "select * from xwe_bigtype";
    
            //指定数据源
            DataTable dt = SaleInfoManager.GetBySQL(strSql);
    
            //实例化pagerDatatable
            PagedDataSource pds = new PagedDataSource();
            
            //给pds绑定数据
            pds.DataSource = dt.DefaultView;
            //设定可分页
            pds.AllowPaging = true;
            //可以分几条
            pds.PageSize = 6;
            //设定默认页
            pds.CurrentPageIndex = Convert.ToInt32(lblCount.Text.ToString ())-1;
            rptNavigate.DataSource=pds;
    
            //如果大于当前页
            if(pds.CurrentPageIndex>=1)
            {
                btnP.Enabled=true;
                btnN.Enabled=true;
            }
    
            //如果是最后一页,让下一页按钮不起作用
            if(pds.CurrentPageIndex==pds.PageCount-1)
            {
                btnN.Enabled=false;
                btnP.Enabled=true;
            }
    
            //如果是第一页
            if(pds.CurrentPageIndex==0)
            {
                btnP.Enabled=false;
                btnN.Enabled=true;
            }
            
            rptNavigate.DataBind();
        }
    
    
        //下一页事件
        protected void btnN_Click(object sender, EventArgs e)
        {
            lblCount.Text = (Convert.ToInt32(lblCount.Text.ToString()) + 1).ToString ();
            this.Bind();
        }
    
        //上一页事件
        protected void btnP_Click(object sender, EventArgs e)
        {
            lblCount.Text = (Convert.ToInt32(lblCount.Text.ToString()) - 1).ToString ();
            this.Bind();
        }
    }
    

     

    页面效果:

      第一页:

        

         第二页:

     

  • 相关阅读:
    uva 12096
    uva 705
    uva 657
    uva 10129
    uva 816 BFS求最短路的经典问题……
    uva 1103
    uva 699
    这是昨天的内容,就这样慢慢整吧,然后,荒废了好多时间啊!!
    今天就这么乱糟糟的过啦~刚刚接触html,就稍微写了一下,明天加油,今天直接贴图
    uva 548 tree
  • 原文地址:https://www.cnblogs.com/307914070/p/1927695.html
Copyright © 2020-2023  润新知