//ASP.NET中的DataList和Repeater提供了简单快速的方法來显示,其间,我们可以使用<ItemTemplate>更是使我们能随心所欲的控制数据的排放样式!
//.可惜的是它们不像Datagrid那样,有内置的分页功能。
//
//如何解决呢?
//
//其实我们可以用【PagedDataSource】 类来解决分页的问题。
//
//PagedDataSource类的属性:
//
//
//DataSource -数据源
//
//AllowPaging - true 是否允许分页.
//PageSize - 每页项目数量
//PageCount - 总页数
//
//CurrentPageIndex - 当前所在的页索引
//以Repeater为例 代码如下:

==========================================================================

//Result.aspx.cs 文件

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace comeday
{
 /// <summary>
 /// Result 的摘要说明。
 /// </summary>
 public class Result : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.HyperLink lnkPrev;
  protected System.Web.UI.WebControls.HyperLink lnkNext;
  protected System.Web.UI.WebControls.Label lblCurrentPage;
  protected System.Web.UI.WebControls.Label lblTotalPage;
  protected System.Web.UI.WebControls.Repeater Repeater1;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
//   数据源
   PagedDataSource Pgds=new PagedDataSource();
//       
   Pgds.DataSource=CreateDataSource().DefaultView;
//        设置允许分页
   Pgds.AllowPaging=true;
//        每页显示为6行
   Pgds.PageSize=6;
//        显示总共页数
//
   lblTotalPage.Text=Pgds.PageCount.ToString();
//        当前页
   int CurrentPage;
//        请求页码为不为null设置当前页,否则为第一页
   if(Request.QueryString["Page"] != null)
   {
    
    CurrentPage = Convert.ToInt32(Request.QueryString["Page"]);
   }

else
   {

CurrentPage = 1;
   }
//   当前页所引为页码-1
   Pgds.CurrentPageIndex = CurrentPage - 1;
//   显示当前页码
   lblCurrentPage.Text = CurrentPage.ToString();
//   如果不是第一页,通过参数Page设置上一页为当前页-1,否则不显示连接
   if(!Pgds.IsFirstPage)
   {
    //            Request.CurrentExecutionFilePath为当前请求虚拟路径
    lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage - 1);
   }
//        End If
//   如果不是最后一页,通过参数Page设置下一页为当前页+1,否则不显示连接
   if(!Pgds.IsLastPage)
   {
//    Request.CurrentExecutionFilePath为当前请求虚拟路径
    lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage + 1);
   }
//   模板绑定数据源  
   Repeater1.DataSource = Pgds;
   Repeater1.DataBind();

}
  /// <summary>
  /// 生成数据源(一个Datatable)
  /// </summary>
  /// <returns></returns>
public DataTable CreateDataSource()
{
  DataTable dt;
  DataRow dr;
  dt=new DataTable();
 //添加列
        dt.Columns.Add(new DataColumn("IntegerValue", System.Type.GetType("System.Int32")));
        dt.Columns.Add(new DataColumn("StringValue", System.Type.GetType("System.String")));
        dt.Columns.Add(new DataColumn("DateTimeValue", System.Type.GetType("System.DateTime")));
        dt.Columns.Add(new DataColumn("BoolValue", System.Type.GetType("System.Boolean")));
 //填充数据
 for( int i=0;i<50;i++)
 {
  dr = dt.NewRow();
  dr[0] = i;
  dr[1] = "Item " + i.ToString();
  dr[2] = DateTime.Now.ToShortTimeString();
  if(i%2!=0)
  {
   dr[3] = true;
  }
  else
  {
   dr[3] = false;
  }
  dt.Rows.Add(dr);
 }
 return dt;

}
  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.Load += new System.EventHandler(this.Page_Load);

}
  #endregion
 }
}
===========================================================================

Result.aspx文件

//<%@ Page Language="c#" Codebehind="Result.aspx.cs" AutoEventWireup="false" Inherits="comeday.Result" %>
//<%@ import Namespace="System.Data" %>
//<HTML>
//<HEAD>
//<title>DataRepeater</title>
//<style type="text/css">
//
//BODY
//{
// FONT: 10px Verdana, Arial, Helvetica, "sans serif"; COLOR: #000000 }
//
//.txt { FONT-SIZE: 12px }
//
//</style>
//</HEAD>
//<body>
//<form id="Form2" name="form1" method="post" runat="server">
//<table class="txt" width="100%" border="0">
//     <tbody>
//     <tr>
//     <td>
//     <asp:hyperlink id="lnkPrev" runat="server">上页</asp:hyperlink>
//     <asp:hyperlink id="lnkNext" runat="server">下页</asp:hyperlink>第
//                   <asp:label id="lblCurrentPage" runat="server"></asp:label>
//     页 共
//      <asp:label id="lblTotalPage" runat="server"></asp:label>页
//                     </td>
//     </tr>
//     </tbody>
//     </table>
//     <asp:repeater id="Repeater1" runat="server">
//     <ItemTemplate>
//     <hr align="left" width="60%" size="1">
//     <table class="txt" width="100%" border="0">
//       <tr>
//       <td>
//       Order Date:
//       <%# DataBinder.Eval(Container.DataItem, "DateTimeValue", "{0:d}") %>
//       </td>
//       <tr>
//       <td>
//       Quantity:
//       <%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:N2}") %>
//       </td>
//       <tr>
//       <td>
//       Item:
//       <%# DataBinder.Eval(Container.DataItem, "StringValue") %>
//       </td>
//       <tr>
//       <td>
//       Order Date:
//       <asp:checkbox id=chk1 checked='<%# DataBinder.Eval(Container.DataItem, "BoolValue") %>' runat="server"/>
//       </td>
//       </tr>
//       </table>
//       </ItemTemplate>
//       </asp:repeater>
//       <hr hight="1">
//         </form>
//         </body>
//         </HTML>

DataList同理。

原文出处:http://dev.csdn.net/develop/article/30/30318.shtm

转载于:https://www.cnblogs.com/zhangjidong/archive/2005/06/14/174106.html

Repeater分页相关推荐

  1. Repeater分页代码

    //ASP.NET中的DataList和Repeater提供了简单快速的方法來显示,其间,我们可以使用<ItemTemplate>更是使我们能随心所欲的控制数据的排放样式! //.可惜的是 ...

  2. GridView,Repeater分页控件:WebPager(开源)

    一.特点: 可以用在母板.MS Ajax等控件嵌套的任何地方,支持GridView,Repeater等数据控件的分页. 二.属性: 1. PagerStyle: 设置分页样式(NextPrev,Num ...

  3. Datalist Repeater分页

    不同与GridView ListView支持分页(Gridview ListView还允许用户编辑.删除数据以及排序,ListView还支持插入数据.listview可参考以前我所写的文章),Data ...

  4. DataList和Repeater分页

    //ASP.NET中的DataList和Repeater提供了简单快速的方法來显示,其间,我们可以使用<ItemTemplate>更是使我们能随心所欲的控制数据的排放样式! //.可惜的是 ...

  5. Repeater控件绑定数据、分页、数据操作,最佳代码

    页面代码: <asp:Repeater id="dlData" runat="server"  >           <HeaderTemp ...

  6. 一个Repeater的分页方法

    1.前台页面: 代码           <asp:Repeater ID="RptThankBrd" runat="server"            ...

  7. 通用分页控件(DataGrid,DataList,Repeater都可以用它来分页)

    1.建立用户控件Pager.ascx 1.1 html <script language="javascript">         function callButt ...

  8. ASP.NET中Repeater控件实现分页功能

    Repeater 轻量级,完全的自定义 Repeater分页,需要依靠PagedDataSource.这个类存在于System.Web.UI.WebControls命名空间.它的作用是作为数据源与数据 ...

  9. ASP.NET服务器控件刷新后仍旧保持滚动位置

    例如常见的服务器控件Repeater+分页控件实现重复性列表很好用,但如果这些控件放置在页面尾部,点击分页的"下一页"页面PostBack后将回到顶部,而不是原来的滚动条位置,很讨 ...

最新文章

  1. 算法----删除链表中的节点(Java)
  2. java 单例设计_Java 之单例设计模式
  3. Objective-C中的self和super
  4. hihoCoder 1092 : Have Lunch Together
  5. 常见问题及解决方案(后端篇)
  6. java登陆拦截器_SpringBoot拦截器实现登录拦截
  7. matlab 常用机器学习算法的实现
  8. bzoj 1611: [Usaco2008 Feb]Meteor Shower流星雨(DP)
  9. NLP学习------HanLP使用实验
  10. HTTP协议详解(必看)
  11. 项目经理必备的基本职责
  12. 给微信小程序页面加载背景图片解决方案
  13. 游戏建模大神教你三招学会用maya制作三维动画特效
  14. HDU 4009 Transfer water (最小树形图+虚根)
  15. PMO和PM如何准备项目状态报告及进行项目进度汇报?【附项目状态表和进度跟踪表】
  16. springboot+ssm+jsp大学生社团活动报名管理系统java
  17. 2009玩得疯海岛夏令营(七天)
  18. Risk of rain 2 Linux 服务器搭建
  19. 编程爱好者网站试题中心 的一道题:关于*(p++)
  20. 第三方注解框架,黄牛刀.使用步骤和方法

热门文章

  1. VSAN见证虚拟设备
  2. MVC 扩展方法特点
  3. Oracle基础中的基础视频讲座录像(西安)供免费下载
  4. JMS : Java Message Service (Java消息服务)之一 [转]
  5. CentOSLinux安装Docker容器
  6. tomcat启动报错:Bean name 'XXX' is already used in this beans element
  7. [转]CentOS 7忘记root密码解决办法
  8. Android WebView和JavaScript交互
  9. 关于input type=file 限制文件上传类型
  10. 在程序员的道路上,义无反顾的努力,有思想的人,很多,好的想法,需要学习。(以此共勉)...