使用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 控件没有自己内置的呈现功 ...
随机推荐
- 杂项:node.js
ylbtech-杂项:node.js Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.No ...
- dede:channel的type改为son,currentstyle当前样式就不起作用
我在修改得闲佬设计作品展示列表页的时候,遇到一个问题,就是channel的type改为son时,currentstyle属性不起作用,试了好久都没办法,后来上网找资料,就找到了解决方法,记录一下. ...
- shell脚本判断语句和循环语句
if判断语句 exit跳出判读语句 不加exit的结果 read -n(不换行) 判断是否输入的是数字 read age[[ $age =~ ^[0-9]+$ ]]if [ $? -ne 0 ]; t ...
- Nginx Tengine ngx_http_upstream_check_module 健康功能检测使用
该模块可以为Tengine提供主动式后端服务器健康检查的功能. 该模块在Tengine-1.4.0版本以前没有默认开启,它可以在配置编译选项的时候开启:./configure --with-http_ ...
- Oracle直方图的详细解析(转)
Oracle直方图解析 一. 何谓直方图: 直方图是一种统计学上的工具,并非Oracle专有.通常用于对被管理对象的某个方面的质量情况进行管理,通常情况下它会表现为一种几何图形表,这个图形表是根 ...
- 对于入门Demo的看法
对于一些以前没有接触过的技术,网上一搜,了解一些介绍信息,原理以及一些代码API的大致了解,接下来应该开始一个小Demo例子. 网上现在好多的教材,多数不知是怎么写的,基本大致一个样,对于初学者没什么 ...
- mysql5.5版本以后插入中午显示问号的解决办法
先看看中午变问号的结果 现在看看我们建立数据库和建表的操作 看到这里相信大家都知道创建成功了,没错,数据库跟表是创建成功了,可当你录入的信息带中文的时候就显示问号. 现在用传统的解决办法 在查看下表的 ...
- DRL前沿之:Benchmarking Deep Reinforcement Learning for Continuous Control
1 前言 Deep Reinforcement Learning可以说是当前深度学习领域最前沿的研究方向,研究的目标即让机器人具备决策及运动控制能力.话说人类创造的机器灵活性还远远低于某些低等生物,比 ...
- 根据inode编号来删除文件或目录
在Linux系统上,有时候会出现文件名为特殊字符的文件或目录,当我们使用rm来删除这样的文件或目录时,就会出错导致删不掉.但是我们可以依据inode号来删除这样的文件,方法如下: (1)执行ls -i ...
- django的小操作,查询效率up, 引用art-template模板+djangorestframework
Part1: 提高查询效率newses = News.objects.select_related('category', 'author').get(id=1) # category和author字 ...