使用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 控件没有自己内置的呈现功 ...
随机推荐
- [转]关闭WIN7“程序兼容性助理”
转载自 http://www.flighty.cn/html/tutorial/20140717_244.html WIN7程序兼容性助理其实是一个非常鸡肋的功能,对于我们基本上可以说没有什么用处,反 ...
- [UE4]Axis Mappings轴映射和动作映射Action Mappings的区别
这里添加的映射只能在“玩家角色(Character)”的事件蓝图中使用. 从它们设置和蓝图使用界面就能看出他们的区别
- linux下一个启动和监测多个进程的shell脚本程序
#!/bin/sh# Author:tang# Date:2017-09-01 ProcessName=webcrawlerInstanceCount=6RuntimeLog='runtime.log ...
- 自己写的jQuery拖动滑块
(function ($) { $.fn.bnSlide = function (options) { var defaults = { colorData: 0, //原始滑道的有效值 maxWid ...
- stm32串口接收完整的数据包
参考了文章:<stm32串口中断接收方式详细比较> 文章地址:http://bbs.elecfans.com/jishu_357017_1_1.html 借鉴了第四种中断方式 串口的配置这 ...
- 小朋友学C++(2)
多态 (一) 先编写函数: #include <iostream> using namespace std; class Shape { protected: int width, hei ...
- 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #18 向ext4转换
HACK #18 向ext4转换 ext4可以与ext2/ext3在后台进行互换.这里将介绍从ext2/ext3转换的方法以及转换时的注意事项.转换有两种方法可以将ext2/ext3的磁盘映像作为ex ...
- Map 合并
比如说 qq.com 100 163.com 90 QQ.COM 10 Qq.Com 5 …… 如果统计的话,需要忽略大小写的,即 QQ邮箱总共是100+10+5,怎么写? 其实这个应该不难的,就 ...
- python之socket编写
Socket 类型 套接字格式: socket(family,type[,protocal]) 使用给定的地址族.套接字类型.协议编号(默认为0)来创建套接字. socket类型 描述 socket. ...
- 扯皮的cplex-感觉时间不对
import ilog.cplex.CpxMult; import ilog.cplex.CpxNumExpr; import ilog.cplex.IloCplex; import ilog.con ...