Repeater绑定数据库,使用AspNetPager进行分页
分页是Web中经常遇到的功能,分页主要有真分页和假分页。
所谓真分页是指:每一页显示多少数据,就从数据库读多少数据;
假分页是指:一次性从数据库读取所有数据,然后再进行分页。
这两种分页方式区别在于从数据库读取信息的方式,真分页的效率高。假分页在首次页面加载的时候会比较慢(如果数据量较多)。
下面学习下使用AspNetPager进行真分页
1.前台编写Repeater所呈现的数据:
<table width="" border="">
<tr>
<td class="tr1">
<asp:Label Text="姓名" runat="server"></asp:Label>
</td>
<td class="tr2">
<asp:Label Text="所在公司" runat="server"></asp:Label>
</td>
<td class="tr3">
<asp:Label Text="注册ID" runat="server"></asp:Label>
</td>
</tr>
</table> <asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<table border="" width="">
<tr>
<td class="tr1">
<%#Eval("E_Id")%>
</td>
<td class="tr2">
<%#Eval("C_Id") %>
</td>
<td class="tr3">
<%#Eval("User_Id") %>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
aspx
aaarticlea/png;base64,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" alt="" />
2.加入AspNetPager控件
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"
AlwaysShow="true" //始终显示分页控件,即使至分成一页
UrlPaging="true" //通过URL传递分页信息
NumericButtonTextFormatString="[{0}]" //索引格式
ShowCustomInfoSection="Left" //显示当前页和总页数信息,默认值不显示,为left则将显示在页索引前,为right则为页索引后
ShowInputBox="Always" //输入框
TextAfterInputBox="页" //输入框之后
TextBeforeInputBox="跳转到第" > //输入框之前
</webdiyer:AspNetPager>
3.后台分页及绑定数据
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindRepeater();
}
}
a.BindRepeater()函数,绑定数据库等操作
public void BindRepeater()
{
this.AspNetPager1.PageSize = ;//分页大小
int count = ;//当前页默认为1 if (Request.QueryString["page"] != null)//如果当前页非空,则将URL中的page赋值为当前页的值
{
count = Convert.ToInt32(Request.QueryString["page"].ToString());//使用URL传递分页信息,(如果使用AspNetPager的PageChanged函数,会在函数中调用两次PageChanged函数,影响运行效率)
}
int num = (count - ) * this.AspNetPager1.PageSize; //当前页减1,乘以每页显示数目,得到前几页的数据数量
string sql = "select top " + this.AspNetPager1.PageSize + " * from Emp where E_Id not in (" +
" select top " + num + " E_Id from Emp order by E_Id asc) order by E_Id asc";//自定义的SQL语句,查找当前页的数据
int recordcount;
DataSet ds = GetPage(sql, this.AspNetPager1.CurrentPageIndex, this.AspNetPager1.PageSize, out recordcount);
this.AspNetPager1.RecordCount = recordcount;
Repeater1.DataSource = ds;
Repeater1.DataBind();
AspNetPager1.CustomInfoHTML = "记录总数:<b>" + AspNetPager1.RecordCount.ToString() + "</b>";
AspNetPager1.CustomInfoHTML += " 总页数:<b>" + AspNetPager1.PageCount.ToString() + "</b>";
AspNetPager1.CustomInfoHTML += " 当前页:<font color=\"red\"><b>" + count + "</b></font>"; }
b.GetPage函数,返回数据集
/// <summary>
/// 获得数据源
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="currentPage">当前页</param>
/// <param name="pagesize">分页大小</param>
/// <param name="recordcount">总页数</param>
/// <returns>DataSet</returns>
public DataSet GetPage(string sql, int currentPage, int pagesize, out int recordcount)
{
// String strSql = "select * from Emp";
SqlDataAdapter ada = new SqlDataAdapter(sql, GetConnection());
DataSet ds = new DataSet();
//int startRow = (currentPage - 1) * pagesize;
//ada.Fill(ds, startRow, pagesize, "table");//对读取到的数据进行分页,假分页时可以这样操作
ada.Fill(ds, "table"); //填充
recordcount = GetPageRecord();//得到总页数
return ds;
}
c.GetPagRecord函数,获得总记录数
/// <summary>
/// 获得总记录数
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public int GetPageRecord()
{
String sql = "select count(*) from Emp";
SqlCommand cmd = new SqlCommand(sql, GetConnection());
cmd.Connection.Open();
int recordcount = (int)cmd.ExecuteScalar();
return recordcount;
}
d.GetConnection,获得连接串
public SqlConnection GetConnection()
{
SqlConnection conn = new SqlConnection("server=.;database=ComInfo;integrated security=true");
return conn;
}
Repeater绑定数据库,使用AspNetPager进行分页的更多相关文章
- Repeater绑定数据库
前台: <table width="> <tr> <td class="tr1"> <asp:Label Text=" ...
- 如何用visual studio控件(repeater)绑定数据库(SQL server)信息并显示
今天学习了下如何间接绑定数据库网上看了很多信息,都云里雾里,没有图片说明,初学者完全看不懂,我自己做了一个DEMO,相信可以帮到大家! 一.建立数据库,并构建表信息,我的表信息如下: 表中的数据在数据 ...
- SqlServer分页存储过程(多表查询,多条件排序),Repeater控件呈现数据以及分页
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出 ...
- AspNetPager 免费分页控件7.5.1版发布!
AspNetPager 免费分页控件7.5.1版发布,本次升级主要内容有: 修正了ShowDisabledButtons为false时html闭合标签丢失的bug:改为从System.Web.UI.W ...
- TreeView树形控件递归绑定数据库里的数据
TreeView树形控件递归绑定数据库里的数据. 第一种:性能不好 第一步:数据库中查出来的表,字段名分别为UNAME(显示名称),DID(关联数据),UTYPE(类型) 第二步:前台代码 <% ...
- Repeater控件使用(含删除,分页功能)
Repeater控件使用(含删除,分页功能) 摘自:http://www.cnblogs.com/alanliu/archive/2008/02/25/914779.html 前臺代碼 <%@ ...
- comboBox绑定数据库、模糊查询
实现: 一.绑定数据库 点击查询按钮,comboBox显示从数据库查到的某字段的一列数据 方法:在按钮的点击事件绑定数据库 private void button1_Click(object send ...
- 理解asp.net中DropDownList编辑数据源,绑定数据库数据。
一.理解asp.net绑定数据库 终于学习到了连接数据库部分的内容,杨中科老师视频看起来挺轻松的,如果是高清版就更ok了. 我发现我学习新的编程语言会有一个特点,都想要赶紧学习数据库,数据就是一切,有 ...
- 【转】通用分页用户控件(DataGrid,DataList,Repeater都可以用它来分页)
通用分页控件(DataGrid,DataList,Repeater都可以用它来分页) 1.建立用户控件Pager.ascx 1.1 html </ASP:LABEL></TD> ...
随机推荐
- android:onclick属性
android:onclick属性设置点击时从上下文中调用指定的方法,此时给指定一个方法名.例如: xml中: <Button android:layout_width="wrap_c ...
- dos命令弹出对话框---Msg命令详解
标签: dos批处理对话框 2015-11-12 17:20 497人阅读 评论(0) 收藏 举报 脚本(30) 版权声明:本文为博主原创文章,未经博主允许不得转载. dos命令弹出对话框---Ms ...
- 自解压的方式创建VC++程序的打包
Walkthrough: Deploying a Visual C++ Application By Using the Visual C++ Redistributable Package Visu ...
- sqlserver的rownum
oracle: select rownum from department sqlserver: select row_number() over (order by id) from dep ...
- uboot之board.c源码分析
/lib_arm/board.c 主要完成了一些初始化的操作,最重要的是有start_armboot函数 _armboot_start地址为多少?? /* * * U-Boot code: 00F00 ...
- 黑马程序员_JavaIO流(四)
File概述 File类 用来将文件或者文件夹封装成对象. 方便对文件与文件夹的属性信息进行操作. File对象可以作为参数传递给流的构造函数. 了解File类中的常用方法. 字段:static St ...
- DP #1 Singleton Pattern线程安全问题
单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例. 其中涉及到最主要的问题就是在多线程并发时线程安全问题. 单例模式的实现也有一个循序渐进的过程:1.最基本要求:每次从getI ...
- UVa400.Unix ls
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- C程序设计语言--指针和引用的区别
在看了一篇文章以后,http://coolshell.cn/articles/7992.html,说的是C和C++之间的缺陷,当然这篇文章说的非常高深了.所以就找了一些资料,分析了这两者的区别 在&l ...
- win10 pro eclipse maven: Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:mav invalid END header (bad central directory offset)
Error:Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:mav ... invalid E ...