读书笔记:《Aspx开发200问》——如何实现Repeater控件的分页
由于Repeater控件没有分页相关的属性,要使用System.Web.UI.WebControl中的PageDataSource类。
PageDataSource封装了DataGrid控件的分页属性
PagedDataSource 类的部分公共属性:
AllowCustomPaging 获取或设置指示是否启用自定义分页的值。
AllowPaging 获取或设置指示是否启用分页的值。
Count 获取要从数据源使用的项数。
CurrentPageIndex 获取或设置当前页的索引。
DataSource 获取或设置数据源。
DataSourceCount 获取数据源中的项数。
FirstIndexInPage 获取页中的第一个索引。
IsCustomPagingEnabled 获取一个值,该值指示是否启用自定义分页。
IsFirstPage 获取一个值,该值指示当前页是否是首页。
IsLastPage 获取一个值,该值指示当前页是否是最后一页。
IsPagingEnabled 获取一个值,该值指示是否启用分页。
IsReadOnly 获取一个值,该值指示数据源是否是只读的。
IsSynchronized 获取一个值,该值指示是否同步对数据源的访问(线程安全)。
PageCount 获取显示数据源中的所有项所需要的总页数。
PageSize 获取或设置要在单页上显示的项数。
VirtualCount 获取或设置在使用自定义分页时数据源中的实际项数。
页面代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>RepeaterCommand</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<h2>Repeater控件分页例子</h2>
<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 48px" cellSpacing="1"
cellPadding="1" width="300" border="0">
<TR>
<TD align="right">
<asp:label id="lblCurPage" runat="server"></asp:label>
<asp:HyperLink id="lnkPrev" runat="server">上一页</asp:HyperLink>
<asp:HyperLink id="lnkNext" runat="server">下一页</asp:HyperLink></TD>
</TR>
<TR>
<TD style="HEIGHT: 29px">
<HR style="WIDTH: 400px; HEIGHT: 1px" color="red" SIZE="1">
<asp:Repeater id="RepeaterPage" runat="server">
<ItemTemplate>
<li>
<%#DataBinder.Eval(Container.DataItem,"TitleOfCourtesy")%>
<%#DataBinder.Eval(Container.DataItem,"LastName")%>
<%#DataBinder.Eval(Container.DataItem,"FirstName")%>
</li>
</ItemTemplate>
</asp:Repeater></TD>
</TR>
</TABLE>
</form>
</body>
</HTML>
后台代码:
{
//页面初试化时进行数据绑定
if(!IsPostBack)
RepeaterDataBind();
}
private void RepeaterDataBind()
{
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
//创建数据适配器对象
SqlDataAdapter da = new SqlDataAdapter("select LastName,FirstName,TitleOfCourtesy from Employees",conn);
//创建DataSet对象
DataSet ds = new DataSet();
try
{
//填充数据集
da.Fill(ds,"testTable");
//创建分页类
PagedDataSource objPage = new PagedDataSource();
//设置数据源
objPage.DataSource = ds.Tables["testTable"].DefaultView;
//允许分页
objPage.AllowPaging = true;
//设置每页显示的项数
objPage.PageSize = 5;
//定义变量用来保存当前页索引
int CurPage;
//判断是否具有页面跳转的请求
if (Request.QueryString["Page"] != null)
CurPage=Convert.ToInt32(Request.QueryString["Page"]);
else
CurPage=1;
//设置当前页的索引
objPage.CurrentPageIndex = CurPage-1;
//显示状态信息
lblCurPage.Text = "当前页:第" + CurPage.ToString()+"页";
//如果当前页面不是首页
if (!objPage.IsFirstPage)
//定义"上一页"超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值
lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1);
//如果当前页面不是最后一页
if (!objPage.IsLastPage)
//定义"下一页"超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值
lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" + Convert.ToString(CurPage+1);
//进行数据绑定
RepeaterPage.DataSource = objPage;
RepeaterPage.DataBind();
}
catch(Exception error)
{
Response.Write(error.ToString());
}
}
转载于:https://www.cnblogs.com/suchenge/archive/2009/07/23/1529242.html
读书笔记:《Aspx开发200问》——如何实现Repeater控件的分页相关推荐
- 读书笔记:《Aspx开发200问》——如果实现动态加载用户空间
(1)创建一个名为UserControlExample.asc的用户控件 (2)创建一个UserControlTest.aspx的页面 <%@ Page language="c#&qu ...
- 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第四章 使用SCAPY掌控网络(2)Scapy实现ARP缓存投毒
黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第四章 使用SCAPY掌控网络(2)Scapy实现ARP缓存投毒 文章目录 黑帽python第二版(Bl ...
- aspx repeater 用法_asp.net中repeater控件用法笔记
大家可能都对 datagrid 比较熟悉,但是如果在数据量大的时候,我们就得考虑使用 repeater 作为我们的数据绑定控件了. repeater 控件与 datagrid ( 以及 datalis ...
- ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性
深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第 ...
- Web开发中的弹出对话框控件介绍
Web开发中,目前由于Jquery的大行其道,因此很多弹出对话框,都用到了Jquery技术,反而原始的弹出对话框的方式较为少用了.不过基于JQuery的方式实现对话框窗口弹出,也有很多控件可以利用,由 ...
- ArcGIS Server9.2学习开发(4)——使用Toc控件
在<ArcGIS Server9.2学习开发(3)--使用Map控件>中讲解了有关ArcGIS Server9.2为我们提供的Map控件的基本用法,然而仅仅只有Map控件是远远不够的,还需 ...
- [导入]Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]...
Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载] 文章来源:http://blog.csdn.net/chengking/archive/2007/0 ...
- iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图
iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图 使用ios9中的开关.滑块控件 开关和滑块也是用于和用户进行交互的控件.本节将主要讲解这两种控件. ios9开关 开关控件常用来控制某个功能的 ...
- aspx repeater 用法_ASP.NET - Repeater 控件
把 DataSet 绑定到 Repeater 控件 Repeater 控件用于显示重复的项目列表,这些项目被限制在该控件.Repeater 控件可被绑定到数据库表.XML 文件或者其他项目列表.这里, ...
最新文章
- 非常抱歉,pmcaff网站硬盘故障,无法访问,努力恢复ing……
- 图像滤镜艺术---微软自拍APP滤镜实现合集DEMO
- react-native flatlist 上拉加载onEndReached方法频繁触发的问题
- 16岁上大学,25岁博士毕业,她还是南大医学院最年轻的博导!
- ASP.NET站点性能提升-缩短首页生成时间
- 机器学习算法一之基于K均值聚类算法实现数据聚类及二维图像像素分割
- 用Acrobat pro DC 自动生成pdf目录——知网硕博论文为例(附带如何下载只有caj的pdf)
- 安卓初学者笔记(四):用白话讲明白Activity是什么
- raw 图像转成fits格式图像
- 特别放松:海盗分金问题
- 第十一届蓝桥杯大赛软件类决赛(C/C++ 大学A组)
- 「Adobe国际认证」关于 Adobe Photoshop启动“选择并遮住”工作区
- 教育部中央电教馆—家庭教育指导师证书
- 【HTML5】Web前端——第三课:HTML5 表单相关元素和属性
- 对比学习+分割 | 论文阅读
- CMMI 3.0究竟有哪些变化?
- matlab 写word文档,用Matlab生成Word文档
- python pip 设置代理
- 马克斯cms有php,马克斯CMS(maxcms)
- java 1.8 SteamAPI认识