Repeater控件是一个数据绑定容器控件,它能够生成各个项的列表,并可以使用模板定义网页上各个项的布局。当该页运行时,该控件为数据源中的每个项重复此布局。

    配合模板使用repeater控件

   若要使用repeater控件,需创建定义控件内容布局的模板。模板可以包含标记和控件的任意组合。如果未定义模板,或者模板都不包含元素,则当应用程序运行时,该控件不显示在页面上。

     ItemTemplate : 含要为数据源中每个数据项都要呈现一次的 HTML 元素和控件。  
      AlternatingItemTemplate : 对交替数据项进行格式设置(包含要为数据源中每个数据项都要呈现一次的 HTML 元素和控件。通常,可以使用此模板为交替项创建不同的外观,例如指定一种与在ItemTemplate中指定的颜色不同的背景色)。 
      SeparatorTemplate : 对分隔符进行格式设置(包含在每项之间呈现的元素。)。 
      HeaderTemplate : 对页眉进行格式设置(包含在列表的开始处分别呈现的文本和控件。)。 
      FooterTemplate : 对页脚进行格式设置(包含在列表的结束处分别呈现的文本和控件。)。     

Repeater分页效果如下:

前台代码:

  <body>
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<p style="background-color:#988c6e;width:400px;padding-top:5px;padding-bottom:5px;margin-left:30px;margin-top:30px;border-radius:5px;color:#fff;font-weight:bold;"><span style="padding-left:30px;">用户名</span><span style="padding-left:100px;">注册时间</span><span style="padding-left:90px;">访问量</span></p>
<table style="margin-left:30px;margin-top:30px;">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="width:120px;text-align:left; padding-left:20px;"><%#Eval("Username") %></td>
<td style="width:170px;text-align:left; "><%#Eval("RegistrationTime") %></td>
<td style="width:50px;text-align:left; "><%#Eval("AccessAmount") %></td>
</tr>
<tr>
<td colspan="3" style="border-bottom:1px inset #C0D9D9;padding-top:7px;"></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<div style="margin-left:50px;">
<div style="margin:0 auto; margin-top:50px;border:1px solid #fff;font-size:16px;font-family:"microsoft yahei","宋体";">
<a><div style="border:1px solid #000; width:60px; float:left; margin:5px;text-align:center;"><a style="color:#000">共<asp:Label runat ="server" ID="zong"> </asp:Label>页</a></div></a>
<a><div style="border:1px solid #000; width:60px; float:left;margin:5px;text-align:center;"><a style="color:#000">第<asp:Label runat ="server" ID="dangqian"> </asp:Label>页</a></div></a>
<a><div style="border:1px solid #000; width:40px; float:left;margin:5px;text-align:center;"> <a style="color:#000"><asp:hyperlink id="first" runat="server" style="color:#000">首页</asp:hyperlink></a></div></a>
<a><div style="border:1px solid #000; width:60px; float:left;margin:5px;text-align:center;"><a style="color:#000"><asp:hyperlink id="lnkPrev" runat="server" style="color:#000">上一页</asp:hyperlink></a></div></a>
<a><div style="border:1px solid #000; width:60px; float:left;margin:5px;text-align:center;"><a style="color:#000"><asp:hyperlink id="lnkNext" runat="server" style="color:#000">下一页</asp:hyperlink></a></div></a>
<a><div style="border:1px solid #000; width:40px; float:left;margin:5px;text-align:center;"> <a style="color:#000"><asp:hyperlink id="end" runat="server" style="color:#000">尾页</asp:hyperlink></a></div></a>
</div>
</div>
</body>

后台代码:

     protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
getUsers();
}
}
private void getUsers()
{
List<Users1> list = new AdminManager().QueryUsers();    
PagedDataSource pag = new PagedDataSource();
pag.AllowPaging = true;// 设置允许分页
pag.PageSize = ; // 每页显示为3行
pag.DataSource = list; // 模板绑定数据源
zong.Text = pag.PageCount.ToString(); // 显示总共页数
int CurrentPage;
// 请求页码为不为null设置当前页,否则为第一页
if (Request.QueryString["Page"] != null)
{ CurrentPage = Convert.ToInt32(Request.QueryString["Page"]);
}
else
{
CurrentPage = ;
}
if (Request.QueryString["PageSize"] != null)
{
pag.PageSize = Convert.ToInt32(Request.QueryString["PageSize"]);
}
else
{
pag.PageSize = ;
} pag.CurrentPageIndex = CurrentPage - ; // 当前页所引为页码-1
dangqian.Text = CurrentPage.ToString(); // 当前页
if (!pag.IsFirstPage)
{
// Request.CurrentExecutionFilePath为当前请求虚拟路径
lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage - );
}
// 如果不是最后一页,通过参数Page设置下一页为当前页+1,否则不显示连接
if (!pag.IsLastPage)
{
// Request.CurrentExecutionFilePath为当前请求虚拟路径
lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage + );
}
//首页
first.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString();
//尾页
end.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + pag.PageCount.ToString(); if (Convert.ToInt32(HttpContext.Current.Request["page"]) > pag.PageCount)
{ first.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString();
}
this.Repeater1.DataSource = pag;
this.Repeater1.DataBind();
}

如果不需要进行分页,可执行以下代码:

protected void Page_Load(object sender, EventArgs e)
{
  if(!Page.IsPostBack)
{
  getUsers();
}
}
private void getUsers()
{
  List<Users1> list = new AdminManager().QueryUsers();
this.Repeater1.DataSource = list ;
this.Repeater1.DataBind();
}

.NET中的repeater简介及分页效果的更多相关文章

  1. Vue实际中的应用开发【分页效果与购物车】

    作者 | Jeskson 来源 | 达达前端小酒馆 分页组件 首先来创建项目: 分页组件,做项目不要写动手写代码,要想想业务逻辑,怎么写,如何写才是最好的呈现方式,做项目不急,要先想好整体的框架,从底 ...

  2. 分页技巧__在项目中使用QueryHelper辅助对象实现分页效果

    分页技巧__在项目中使用QueryHelper辅助对象实现分页效果 QueryHelper 用于辅助拼接HQL语句 addCondition("t.type=?", "精 ...

  3. ElementUi中el-table分页效果

    现实的场景中很经常遇到表格el-table数据过多,为了更好的用户体验,所以我们需要用到分页,一般分页可以视数据量的大小可分为前端控制和后端控制. 先看下效果(已做脱敏处理) 图1 前端el-tabl ...

  4. Repeater 无刷新分页

    原文:http://blog.csdn.net/Sandy945/archive/2009/05/22/4208998.aspx 本文讲述的是如何利用 XMLHttpRequest 来对 Repeat ...

  5. 数学相关函数在PHP中的应用简介

    对于数学计算来说,最常见的其实还是我们使用各种操作符的操作,比如说 +加.-减 之类的.当然,PHP 中也为我们提供了一些可以方便地进行其他数学运算的操作函数.这些函数都属于 Math 扩展.这个扩展 ...

  6. Web 开发中很实用的10个效果【附源码下载】

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

  7. 原生JS实现分页效果2.0(新增了上一页和下一页,添加当前元素样式)

    虽然写的很烂,但至少全部都是自己写的,因为这个没有固定的顺序,所以就没有封装,如果你技术好的话,可以你写的分享给我,谢谢. <!DOCTYPE html><html lang=&qu ...

  8. ViewPager+GridView实现首页导航栏布局分页效果

    如图是效果图用ViewPager+GridView实现首页导航栏布局分页效果来实现的效果 Demo下载地址:http://download.csdn.net/detail/qq_29774291/96 ...

  9. 分享5种风格的 jQuery 分页效果【附代码】

    jPaginate 是一款非常精致的分页插件,提供了五种不同风格的分页效果,支持鼠标悬停翻页,快速分页功能.这款插件还提供了丰富的配置选项,你可以根据需要进行设置. 效果演示      源码下载 各个 ...

随机推荐

  1. MySQL导出以H开头的表

    情景:我有上百张以H开头的表,我需要备份出这些以H开头的表. mysqldump不支持*或者%这种通配符,所以没法实现备份以xx开头的表这种,这里算是个小技巧,利用文本编辑器来实现. [root@HE ...

  2. 理解FMS中的实例

    FMS服务器端安装后,唯一需要注意的是设置端口,默认的访问端口是1935和80,如果服务器上安装了IIS提供 WEB服务,那么需要将80修改为其他端口如8080,否则,IIS将会无法工作.如果愿意,也 ...

  3. log4j.appender.stdout.layout.ConversionPattern

    http://501565246-qq-com.iteye.com/blog/1991881 http://wenku.baidu.com/link?url=e4Z9v9CY_gwRxHrggzHXx ...

  4. Intellij IDEA 建立文件夹目录问题

    问题: NEW一个package常出现文件夹层次问题 解决: 1.选中当前文件夹(要在该文件夹下添加): 2.右击此处: 3.添加即可. 链接:http://stackoverflow.com/que ...

  5. 开源OSS.Social微信项目解析

    ​前言:OSS.Social是个开源的社交网站接口集成项目,当前也有很多其他不错的项目,不过始终没有我想要的那种简单清晰,只能撸起袖子,从头打造一个.当前正在进行的是对微信项目的开发,这里把对接口的整 ...

  6. [UWP]依赖属性1:概述

    1. 概述 依赖属性(DependencyProperty)是UWP的核心概念,它是有DependencyObject提供的一种特殊的属性.由于UWP的几乎所有UI元素都是集成于DependencyO ...

  7. java_db2错误码对应值

    DB2-SQLSTATE消息 2012-08-27 10:35:27|  分类: db2|举报|字号 订阅     本节列示 SQLSTATE 及其含义.SQLSTATE 是按类代码进行分组的:对于子 ...

  8. list_删除元素

    项目遇到了题目所述的问题,还是折腾了一会... 现在总结一下: 这里写一个测试小程序: List<Integer> ints = new ArrayList<Integer>( ...

  9. 隐藏Apache的版本号及其它敏感信息

    首先,打开配置文件: /etc/apache2/apache2.conf 来修改ServerTokens 的配置: 找到:ServerTokens Full 所在行,将其改为: ServerToken ...

  10. vue自定义日期组件

    vue-datepicker 基于 vuejs 2.x 可自定义主题的日期组件 github Usage 只需要在项目中加入 calendar.vue,就可以使用了. 向组件传入 prop 即可改变 ...