asp.net Repeater使用例子,包括分页
<style type="text/css">
.tab{border-collapse:collapse; margin:0 auto;}
.tab th{ border:#000 solid 1px; line-height:24px;}
.tab td{border:#000 solid 1px; line-height:18px;}
.tab td.no{color:#f00;}
</style>
<table class="tab">
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand" >
<HeaderTemplate>
<tbody>
<tr>
<th>555</th>
<th>666</th>
<th>777</th>
</tr>
</tbody>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem,"SendCentreID") %>
</td>
<td><%# DataBinder.Eval(Container.DataItem,"Mo") %>
</td>
<td><%# DataBinder.Eval(Container.DataItem,"Stat") %>
</td>
<td>
<asp:Button ID="Button3" runat="server" UseSubmitBehavior="true" Text="Button" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"ID") %>' CommandName="ButtonOnClick" />
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td class="no"><%# DataBinder.Eval(Container.DataItem,"SendCentreID") %>
</td>
<td class="no"><%# DataBinder.Eval(Container.DataItem,"Mo") %>
</td>
<td class="no"><%# DataBinder.Eval(Container.DataItem,"Stat") %>
</td>
<td>
<asp:Button ID="Button3" runat="server" Text="Button" UseSubmitBehavior="true" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"ID") %>' CommandName="ButtonOnClick" />
</td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
<tr>
<td colspan="4">
<asp:LinkButton ID="FirstPage" runat="server" OnClick="FirstPage_OnClick">首页</asp:LinkButton>
<asp:LinkButton ID="UpPage" runat="server" OnClick="UpPage_OnClick">上一页</asp:LinkButton>
第<asp:Label ID="ThisPage" runat="server" Text="1"></asp:Label>页 共<asp:Label ID="AllCountPage" runat="server" Text="1"></asp:Label>页
<asp:LinkButton ID="NextPage" runat="server" OnClick="NextPage_OnClick">下一页</asp:LinkButton>
<asp:LinkButton ID="LastPage" runat="server" OnClick="LastPage_OnClick">末页</asp:LinkButton>
<asp:TextBox ID="CountPage" runat="server"></asp:TextBox>
<asp:LinkButton ID="SetCountPage" runat="server" OnClick="SetCountPage_OnClick">转</asp:LinkButton>
</td>
</tr>
</FooterTemplate>
</asp:Repeater>
</table>
后台代码
public struct PageState
{
/// <summary>
/// 当前页
/// </summary>
public int ThisPage;
/// <summary>
/// 要显示的页数
/// </summary>
public int PageSize;
/// <summary>
/// 总页数
/// </summary>
public int AllPageCount;
/// <summary>
/// 记录数
/// </summary>
public int Counts;
}
protected PageState pagestate;
protected String AdoConn = ConfigurationSettings.AppSettings["XueXunTongConn"];
protected void Page_Load(object sender, EventArgs e)
{
pagestate.PageSize = 16;
pagestate.ThisPage = 1;
if (!Page.IsPostBack)
{
GetData("");
}
}
protected void Page_PreRenderComplete(object sender, EventArgs e)
{
}
/// <summary>
/// 设置当然页数
/// </summary>
/// <param name="Count"></param>
private void SetCount()
{
if (pagestate.ThisPage > pagestate.AllPageCount)
{
pagestate.ThisPage = pagestate.AllPageCount;
}
((Label)Repeater1.Controls[this.Repeater1.Controls.Count - 1].FindControl("ThisPage")).Text = pagestate.ThisPage.ToString();
TextBox TB = (TextBox)Repeater1.Controls[this.Repeater1.Controls.Count - 1].FindControl("CountPage");
TB.Text = pagestate.ThisPage.ToString();
((Label)Repeater1.Controls[this.Repeater1.Controls.Count - 1].FindControl("AllCountPage")).Text = pagestate.AllPageCount.ToString();
}
protected void GetData(String Where)
{
DataSet DS = SQLHelp.PageView("SendCentreMo", "*", pagestate.PageSize, pagestate.ThisPage, ref pagestate.AllPageCount, ref pagestate.Counts, "id", true, Where, "id", false);
Repeater1.DataSource = DS;
Repeater1.DataBind();
SetCount();
}
//转
protected void SetCountPage_OnClick(object sender, EventArgs e)
{
TextBox TB = (TextBox)Repeater1.Controls[this.Repeater1.Controls.Count - 1].FindControl("CountPage");
if (TB.Text == "")
{
return;
}
try
{
pagestate.ThisPage = Int32.Parse(TB.Text);
if (pagestate.ThisPage <= 0)
{
pagestate.ThisPage = 1;
}
}
catch
{
pagestate.ThisPage = 1;
}
GetData("");
}
//首页
protected void FirstPage_OnClick(object sender, EventArgs e)
{
pagestate.ThisPage = 1;
GetData("");
}
//末页
protected void LastPage_OnClick(object sender, EventArgs e)
{
try
{
pagestate.ThisPage = Int32.Parse(((Label)Repeater1.Controls[this.Repeater1.Controls.Count - 1].FindControl("AllCountPage")).Text);
}
catch
{
pagestate.ThisPage = 1;
}
GetData("");
}
//上一页
protected void UpPage_OnClick(object sender, EventArgs e)
{
try
{
pagestate.ThisPage = Int32.Parse(((Label)Repeater1.Controls[this.Repeater1.Controls.Count - 1].FindControl("ThisPage")).Text);
pagestate.ThisPage--;
}
catch
{
pagestate.ThisPage = 1;
}
if (pagestate.ThisPage <= 0)
{
pagestate.ThisPage = 1;
}
GetData("");
}
//下一页
protected void NextPage_OnClick(object sender, EventArgs e)
{
try
{
pagestate.ThisPage = Int32.Parse(((Label)Repeater1.Controls[this.Repeater1.Controls.Count - 1].FindControl("ThisPage")).Text);
pagestate.ThisPage++;
}
catch
{
pagestate.ThisPage = 1;
}
GetData("");
}
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
switch (e.CommandName)
{
case "ButtonOnClick":
int i = Convert.ToInt32(e.CommandArgument);
break;
}
}
asp.net Repeater使用例子,包括分页的更多相关文章
- ASP.NET Repeater控件实现简单分页
早上,有看MSDN,看到了 PagedDataSource 类 http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.pa ...
- Repeater控件的分页实现
本文讲解Repeater控件与PagedDataSource相结合实现其分页功能.PagedDataSource 类封装那些允许数据源控件(如 DataGrid.GridView)执行分页操作的属性. ...
- 前端使用AngularJS的$resource,后端ASP.NET Web API,实现分页、过滤
在上一篇中实现了增删改查,本篇实现分页和过滤. 本系列包括: 1.前端使用AngularJS的$resource,后端ASP.NET Web API,实现增删改查2.前端使用AngularJS的$re ...
- [ASP.NET]asp.net Repeater控件的使用方法
asp.net Repeater控件的使用方法 -- : 4770人阅读 评论() 收藏 举报 asp.netserveraspdatasetdeletexhtml 今天学习了,Repeater控件 ...
- Asp.Net中的三种分页方式
Asp.Net中的三种分页方式 通常分页有3种方法,分别是asp.net自带的数据显示空间如GridView等自带的分页,第三方分页控件如aspnetpager,存储过程分页等. 第一种:使用Grid ...
- ASP.NET repeater添加序号列的方法
ASP.NET repeater添加序号列的方法 1.<itemtemplate> <tr><td> <%# Container.ItemIndex + 1% ...
- ASP.NET Repeater 控件分页
protected void Page_Load(object sender, EventArgs e) { HttpContext context = HttpContext.Current; co ...
- ASP.NET Zero--14.一个例子(7)商品分类管理-分类搜索及分页
分类搜索实现 1.添加搜索框 打开Index视图,添加一个搜索框,代码如下: ... <div class="portlet light"> <div class ...
- repeater控件实现分页
repeater控件实现排序的方法,今天我再向大家介绍repeater控件如何实现分页的效果. 分页分为真分页和假分页. 真分页:控件上一页需要显示多少数据,就从数据库取出并绑定多少数据,每次换页时都 ...
随机推荐
- CentOS下tar解压 gz解压 bz2等各种解压文件使用方法
.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— . ...
- 072——VUE中vuex之使用mutations修改购物车仓库数据
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- learning docker steps(4) ----- docker swarm 初次体验
参考:https://docs.docker.com/get-started/part4/ 了解 swarm 集群 swarm 是一组运行 Docker 并且已加入集群中的机器.执行此操作后,您可以继 ...
- 需求改进&系统设计
1.需求&原型改进 针对课堂讨论环节老师和其他组的问题及建议,对修改选题及需求进行修改,发现在原有需求下,无需进行过大修改. 2.系统设计 3.Alpha任务分配计划 待定 4.测试计划 测试 ...
- PHP多种序列化/反序列化的方法 serialize,json_encode等
序列化是将变量转换为可保存或传输的字符串的过程:反序列化就是在适当的时候把这个字符串再转化成原来的变量使用.这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性. 1. serialize ...
- php 函数2
- Python_常用的正则表达式处理函数
正则表达式就是用查找字符串的,它能查找规则比较复杂的字符串反斜杠:正则表达式里面用"\"作为转义字符. s='<a class="h3" href=&qu ...
- Linux 之 tar和nc传文件
前提: 将 172.16.88.1 上的 test 文件夹传送到 172.16.88.2 上 接收方 ---- 172.16.88.2 $ nc -l > test.tar 9876 为端口号 ...
- HDU 4185
http://acm.hdu.edu.cn/showproblem.php?pid=4185 两个挨着的'#'可以配成一对,求最多能配成几对 挨着的'#'就连边,然后求一次最大匹配,答案是最大匹配除以 ...
- 如何用移动硬盘安装win7 系统
身边没有U盘和光盘,就只有一个移动硬盘.移动硬盘安装系统是怎么进行的.在这里小毛孩来给大家上一课. 前期准备: 1.移动硬盘. 2.win7 32位的操作系统(*.iso). 3.有系统且可开机的电脑 ...