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 ...
随机推荐
- U盘快捷方式中毒处理办法
这是网上某位大神的,对于我这个U盘总中毒的人真的很好用,太开心啦啦 http://blog.csdn.net/jzwong/article/details/51002568
- WIN7无法记住远程登录密码
1.单点win7系统开始菜单——“运行”,然后输入“gpedit.msc”确定: 2.打开本地组策略后,依次展开:计算机配置 > 管理模板 > 系统 > 凭据分配: 3.双击右侧列表 ...
- JS获取文本值
var closeBtn=document.getElementById("close_btn"): closeBtn.innerHTML即是文本值,如果要的是数字parseInt ...
- Javaweb命名规则
一.类命名命名规范:以大写字母开头,如果有多个单词,每个单词头字母大写.例如:StudentInfo 二.接口命名命名规范:以大写字母"I"开头,如果有多个单词,每个单词头字母大写 ...
- border:none;与border:0;的区别
border:none表示边框样式无,border:0表示边框宽度为0;当定义了border:none,即隐藏了边框的显示,实际就是边框宽度为0. 当定义边框时,必须定义边框的显示样式.因为边框默认样 ...
- java后台访问接口
// 发送url地址获取信息 public static String sendPost(String jsonStr, String path) { String msg = "" ...
- ThinkPHP单字母函数(快捷方法)使用总结
在ThinkPHP中有许多使用简便的单字母函数(即快捷方法),可以很方便开发者快速的调用,但是字母函数却不方便记忆,本文将所有的字母函数总结一下,以方便以后查找. 1.U() URL组装 支持不同UR ...
- Redis配置文件参数说明
Redis配置文件参数说明 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,Redis ...
- 转:python dict按照value 排序
我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value.可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value ...
- 使用ZooKeeper实现软负载均衡(原理)
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,提供的功能包括配置维护.名字服务.分布式同步.组服务等. ZooKeeper会维护一个树形的数据结构,类似于Windows资源管理器 ...