使用Sql分页方法给Repeater控件分页的方法
页面代码
<div class="bookList">
<asp:Repeater ID="rpBooks" runat="server">
<HeaderTemplate>
<ul class="title">
<li class="bName">书名</li>
<li class="bAuthor">作者</li>
<li class="bPrice">价格</li>
</ul>
</HeaderTemplate>
<ItemTemplate>
<ul class="data">
<li class="bName"><%#eval_r("title").ToString().Length > ? eval_r("title").ToString().Substring(, )+"..." : eval_r("title").ToString()%></li>
<li class="bAuthor"><%#eval_r("author").ToString().Length > ? eval_r("author").ToString().Substring(, ) + "..." : eval_r("author").ToString()%></li>
<li class="bPrice"><%#eval_r("unitprice") %></li>
</ul>
</ItemTemplate>
<AlternatingItemTemplate>
<ul class="data" style="background-color:Gray;">
<li class="bName"><%#eval_r("title").ToString().Length > ? eval_r("title").ToString().Substring(, )+"..." : eval_r("title").ToString()%></li>
<li class="bAuthor"><%#eval_r("author").ToString().Length > ? eval_r("author").ToString().Substring(, ) + "..." : eval_r("author").ToString()%></li>
<li class="bPrice"><%#eval_r("unitprice") %></li>
</ul>
</AlternatingItemTemplate>
</asp:Repeater>
<div style="clear:both;"></div>
<!--分页跳转-->
<p class="page">
<asp:LinkButton ID="lbtnFirst" CommandName="first" runat="server" oncommand="lbtnFirst_Command">首页</asp:LinkButton>
<asp:LinkButton ID="lbtnPrevious" CommandName="previous" runat="server" oncommand="lbtnFirst_Command">上一页</asp:LinkButton>
<asp:Label ID="lblPageIndex" runat="server" Text=""></asp:Label>
<asp:Label ID="Label3" runat="server" Text="/"></asp:Label>
<asp:Label ID="lblPageSum" runat="server" Text=""></asp:Label>
<asp:LinkButton ID="lbtnNext" CommandName="next" runat="server" oncommand="lbtnFirst_Command">下一页</asp:LinkButton>
<asp:LinkButton ID="lbtnLast" CommandName="last" runat="server" oncommand="lbtnFirst_Command">尾页</asp:LinkButton>
跳转到
<asp:TextBox ID="txtPageIndex" runat="server" Width="30px"></asp:TextBox>
<asp:Button ID="btnGo" runat="server" Text="跳转到" CommandName="btn"
oncommand="lbtnFirst_Command" />
共<asp:Label ID="lblCount" runat="server" Text="Label"></asp:Label>
条记录</p>
</div>
后置代码
int index =;//初始化当前页索引,默认显示第一页
int pageSize = ;//设置每页显示条数
Common.Page page =null;
protected void Page_Load(object sender, EventArgs e)
{
//前段代码中给当前页标签默认为第一页,用标签保存当前页面索引
index =int.Parse(lblPageIndex.Text);
//在页面首次加载的时候,加载总页数,总记录数和信息列表
if (!IsPostBack )
{
page = new Common.Page(index, pageSize);
this.lblCount.Text = page.Count.ToString();
this.lblPageSum.Text = page.PageSum.ToString();
BookBind();
}
}
//翻页按钮命令事件
protected void lbtnFirst_Command(object sender, CommandEventArgs e)
{
page = new Common.Page(index, pageSize);
string commandName = e.CommandName;
switch (commandName)
{
case "first":
page.PageIndex = ; break;
case "previous":
if (index==)
{
page.PageIndex = ;
}
else
{
page.PageIndex =index-;
}
break;
case "next":
if (index == page.PageSum)
{
page.PageIndex = page.PageSum;
}
else
{
page.PageIndex=index+;
}
break;
case "last":
page.PageIndex =page.PageSum;
break;
case "btn":
page.PageIndex = int.Parse(txtPageIndex.Text);
break;
}
this.lblPageIndex.Text = page.PageIndex.ToString();
BookBind();
}
//给Repeater控件绑定数据
private void BookBind()
{
this.rpBooks.DataSource = page.CurPager;
this.rpBooks.DataBind();
}
//获取记录总数的方法
public int GetCount()
{
return page.Count;
}
//获取总页数的方法
public int GetPageSum()
{
return page.PageSum;
}
注意事项
本例使用label标签保存当前页面索引,也可以使用视图状态保存。
使用Sql分页方法给Repeater控件分页的方法的更多相关文章
- [ASP.NET]asp.net Repeater控件的使用方法
asp.net Repeater控件的使用方法 -- : 4770人阅读 评论() 收藏 举报 asp.netserveraspdatasetdeletexhtml 今天学习了,Repeater控件 ...
- ASP.NET Repeater 控件分页
protected void Page_Load(object sender, EventArgs e) { HttpContext context = HttpContext.Current; co ...
- ASP.NET Repeater控件实现简单分页
早上,有看MSDN,看到了 PagedDataSource 类 http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.pa ...
- repeater控件实现分页
repeater控件实现排序的方法,今天我再向大家介绍repeater控件如何实现分页的效果. 分页分为真分页和假分页. 真分页:控件上一页需要显示多少数据,就从数据库取出并绑定多少数据,每次换页时都 ...
- 使用Repeater控件实现三层嵌套以及分页效果
PS: 第一次用Repeater控件 记录一下 请忽略我的命名不规范 请忽略我的最终效果图(太丑了) 需要用到的朋友可以自行调整的漂亮点 ====================最终效果图===== ...
- SqlServer分页存储过程(多表查询,多条件排序),Repeater控件呈现数据以及分页
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出 ...
- repeater控件自定义Url分页带参数
repeater控件的效果图如下: 该页面实现的功能如下: 1.上下分页,(也可以带首页和末页,我只是禁掉了没用) 2.根据用户输入的指定分页索引进行跳转 3.根据筛选数据的参数进行URL分页的参数传 ...
- Repeater控件使用(含删除,分页功能)
Repeater控件使用(含删除,分页功能) 摘自:http://www.cnblogs.com/alanliu/archive/2008/02/25/914779.html 前臺代碼 <%@ ...
- asp.net动态网站repeater控件使用及分页操作介绍
asp.net动态网站repeater控件使用及分页操作介绍 1.简单介绍 Repeater 控件是一个容器控件,可用于从网页的任何可用数据中创建自定义列表.Repeater 控件没有自己内置的呈现功 ...
随机推荐
- make -j [N] --jobs [=N] 增加效率
阿里云的服务器,以前是最低配1核心cpu,make的时候非常慢.升级配置以后,发现make的效率丝毫没有增加.top命令查看发现cpu的利用率非常低,于是执行命令: make --help 在显示的结 ...
- 廖雪峰Java1-2Java程序基础-2变量和数据类型
1.变量 变量是可以持有某个基本类型的数值,或者指向某个对象. 变量必须先定义后使用 定义: 变量类型 变量名 = 初始值; 2.java基本数据类型 整数类型:long int short byte ...
- [UE4]Character,飞行模式。
Character 是pawn的子类,可以行走.跳跃.游泳.飞行的Pawn.
- g++多文件编译
头文件:A.h void test(); 源文件:A.cpp #include <iostream> #include<thread> #include<chrono&g ...
- Hive基础之Hive表常用操作
本案例使用的数据均来源于Oracle自带的emp和dept表 创建表 语法: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name ...
- opencv边缘检测的入门剖析(第七天)
---边缘检测概念理解--- 边缘检测的理解可以结合前面的内核,说到内核在图像中的应用还真是多,到现在为止学的对图像的操作都是核的操作,下面还有更神奇的! 想把边缘检测出来,从图像像素的角度去想,那就 ...
- ansible的安装与使用
ansible的特点: 1. 基于ssh运行 2. 无需客户端 安装ansible 这里提供四种安装方式,根据自己的需要任选一种即可 1.1使用yum安装 yum install epel-relea ...
- CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
自我学习:一.线程安全日期格式化操作的几种方式:1.每次new一个新对象:public static Date parse(String date) throws ParseException { r ...
- apo 简单参考
参考: https://www.cnblogs.com/Geyoung/p/6927905.html @Aspect @Component public class TimeAspect { //通过 ...
- 10 并发编程-(线程)-GIL全局解释器锁&死锁与递归锁
一.GIL全局解释器锁 1.引子 在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势 首先需要明确的一点是GIL并不是Python的特性,它是在实现Pyt ...