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 ...
随机推荐
- percent的用法
select*from test; 先查询所有的结果一共是8条记录 select top(50) percent *from test; 则只查询该表中百分之50的结果集
- 用javascript比较快速排序和合并排序的优劣
<script> //用来调用排列方法的类 function arr_sort(arr){ var startTime,endTime; var priv_arr = new Array; ...
- Hibernate之即时更新
昨天工作中遇到了一个简单的问题,弄了好久,都怪自己没有好好的去了解hibernate,导致了这样的问题弄了两三个小时. 问题是这样的:我想即时更改数据,然后再查询 (1)用Spring的getHibe ...
- 字符集和字符编码(Charset & Encoding)
字符集和字符编码(Charset & Encoding)[转] 1.基础知识 计算机中储存的信息都是用二进制数表示的:而我们在屏幕上看到的英文.汉字等字符是二进制数转换之后的结果.通俗的说,按 ...
- sp,文件以及SDcard存储
XML: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" androi ...
- LoadRunner测试结果分析03 转载至zhangzhe的新浪博客
LoadRunner测试结果分析之我见 前面分析的Web Resource(网络资源)的测试情况,其主要关注的是服务器性能,而系统本身和环境都有可能存在问题,页面诊断(Web Page Diagnos ...
- php类型的相关函数,运算符,条件判断,循环
类型的相关函数 函数的原型 :函数返回值类型 函数名(参数1类型 参数1,参数2类型 参数2--) 1, 任何一个函数,都要考虑它是否有返回值以及该返回值的类型,如果该函数没有返回值,就用void来 ...
- ajax学习总结
一.ajax简介 AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),AJAX 是一种与服务器交换数据的技术,他可以在 ...
- SQLServer查询所有库表结构信息
1.查询数据库中的所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.查询某个数据库中所有的表名: SELECT Name FR ...
- C#中用RichTextBox实现图文混排和保存的例子
using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; us ...