PagedDataSource、Repeater以及AspNetPager在ASP.NET上分页。
一、前台使用服务器标签
1.1使用Repeater控件
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table>
<tr><th>这里存放ID</th><th>这里存放名字</th></tr>
</HeaderTemplate>
<ItemTemplate>
<tr><td><%#Eval("id") %></td><td><%#Eval("AUTHORITY_NAME")%></td></tr>
</ItemTemplate>
<FooterTemplate></table>
</FooterTemplate>
</asp:Repeater>
<%#Eval("id") %>:使用Repeater的时候,需要给这个控件赋数据源,这个数据源一般是从数据库中通过ADO。net对象获取的一个datatable或者dataset。
Eval()括号中的那个id就是table中列明
<%#Eval("AUTHORITY_NAME")%>:同上!!!↑↑↑
关于Repeater的详细用法:http://www.cnblogs.com/fengzheng126/archive/2012/05/07/2487355.html
1.2使用AspNetPager控件(使用之前,需要先对这个插件进行添加引用)
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>要在前台页面上“注册一下”
<div class="paginator">
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="True" CustomInfoStyle="FONT-SIZE: 12px"
FirstPageText="首页" HorizontalAlign="Center" inputboxstyle="width:19px" LastPageText="尾页"
meta:resourcekey="AspNetPager1" NextPageText="下一页" PageSize="" PrevPageText="上一页"
Style="font-size: 14px" Width="95%" CssClass="anpager" CurrentPageButtonClass="cpb"
OnPageChanging="AspNetPager1_PageChanging" ShowBoxThreshold="">
</webdiyer:AspNetPager>
</div>
二、后台 生成一个PagedDataSource 对象,并为这个对象设置一些属性;这个对象最终会返回数据给调用者。
/// <summary>
/// 返回PagedDataSource
/// </summary>
/// <param name="AspNetPager1">AspNetPager控件的ID</param>
/// <param name="currentIndex">当前页的索引</param>
/// <param name="dt">从数据库中,select出来的表</param>
/// <returns>PagedDataSource</returns>
public static PagedDataSource GetPageDataSource(Wuqi.Webdiyer.AspNetPager AspNetPager1, int currentIndex, DataTable dt)
{
PagedDataSource source = new PagedDataSource();//生成PageDataSource对象
AspNetPager1.RecordCount = dt.Rows.Count;//给分页控件设置一个数据表中 记录的总数
source.DataSource = dt.DefaultView;//将数据表赋值给PageDataSource
source.AllowPaging = true;
source.CurrentPageIndex = currentIndex;//当前索引页
source.PageSize = AspNetPager1.PageSize;//每一页显示的记录的数量
return source;
}
三、将数据源绑定到Repeater上去。
private void Bind() {
string strSql = string.Format("select* from dbo.SMTAuthorityManage");
DataTable dtbl = sql.Query(strSql);
Repeater1.DataSource = GetPageDataSource(AspNetPager1, AspNetPager1.CurrentPageIndex - , dtbl);
Repeater1.DataBind();//Repeater是之前的那个控件
}
四,调用bind方法,实现页面上下翻页(点击页码)并显示相应页码上的数据
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
this.AspNetPager1.CurrentPageIndex = e.NewPageIndex;//传入当前页码
Bind();
}

PagedDataSource、Repeater以及AspNetPager在ASP.NET上分页。的更多相关文章
- AspNetPager + GridView + ASP.NET AJAX 分页无刷新实现
准备资源: AspNetPager 下载网址:http://www.webdiyer.com/download/default.aspx ASP.NET AJAX 下载网址:http://www.a ...
- ASP.NET上实现
ASP.NET上实现 fengzhuang.cs: using System;using System.Collections.Generic;using System.Linq;using Syst ...
- ASP.NET 上的 Async/Await 简介
原文链接 大多数有关 async/await 的在线资源假定您正在开发客户端应用程序,但在服务器上有 async 的位置吗?可以非常肯定地回答“有”.本文是对 ASP.NET 上异步请求的概念性概述, ...
- asp 文件上传(无组件上传)
文件1.上传界面文件 upload.htm<html><head><meta http-equiv="Content-Language" conten ...
- ASP文件上传代码
在网上看到的代码,稍微有点问题,改了一下就可以了.Chrome下是可以用的,别的浏览器还没有确认. <% Response.Buffer = True Server.ScriptTimeOut= ...
- ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段
ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...
- ASP.NET上传文件,已经上传的大小保存在session中,在另一个页面中读取session的值不行
想自己做个ASP.NET上传文件时显示进度条的, 按照自己的想法,其实也就是显示每次已经上传的字节,从网上找到一个方法是能够把文件变成流以后再慢慢写入的,我在那个循环写入的时候每循环一次都把已经上传的 ...
- 【西祠日志】【07】努力努力,找资料,思考,怎么做asp图片上传
[西祠日志][07]努力努力,找资料.思考.怎么做asp图片上传 (2015.07.23周四) 今天忘了带本子.直接写在书上了笔记,晚点还是夹在本子里. 学了这么久的web应用,一直都没时间去做一点 ...
- asp.net上传超大文件解决方案
ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...
随机推荐
- W5500EVB UDP模式的测试与理解-新华龙电子
WIZnet 之前已经介绍过W5500EVB 在TCP模式下的两种(Server及Client)数据传输的实现过程,那么传输控制协议中,UDP也是非常常用的,这种无连接的协议在更多场合为用户提供了便捷 ...
- ESET使用
杀毒软件换了好几次,小红伞到ESET,感觉小红伞也可以但是就是更新上一直有些问题,所以狠心换成了ESET,这个安全套装感觉还是有模有样的.
- Tableau 地图无法识别怎么办
Tableau地图是一个很优秀的工具,可以选择城市或者省份作为单位来显示地图. 前几天做了一个省份的感觉很好,今天用城市做单位居然有些城市识别不了,其中包括贵阳和宿迁. 换了拼音之后贵阳能够识别了 ...
- CSS + DIV 让页脚始终底部
一 前言 经常设计页面时用到三层DIV,头DIV与脚DIV一般固定高度,而中间层DIV根据内容的多少,高度不定,我们经常希望但内容很少时,脚DIV保持在底部,当内容很多时,脚DIV被中间内容挤到下面, ...
- Java线程:概念与原理
Java线程:概念与原理 一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程 ...
- EhCache缓存
EhCache缓存 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. Ehcache是一种广泛使用的开源Java分布式缓 ...
- [react native] react-native-tab-navigator在子Component中隐藏
因为文档只列出了TabBarIOS, 不支持Android,所以github上找到这个组件. 先说下我的页面构造: 入口文件 —> 注册组件(包含Navigator, 跳转到欢迎页)—> ...
- clipboard_monitor_in_win7
添加监听 AddClipboardFormatListener(this.Handle); 移除 RemoveClipboardFormatListener(this.Handle); #region ...
- arcgis_engine_develop_error_42
解决: 今天在VS2013打开程序时,手工添加了pageLayoutControl隔一会弹出错误窗口:Provide your license server administrator with th ...
- stimulsoft Report报表使用笔记
1.使用设计器设计mrt报表模板,或者从其他文件复制修改 2.删除business object 数据源 3.使用代码添加数据源 ParcelChangeItem change = new Parce ...