C#--Web数据分页

实现数据表内的数据分页操作:

网页源数据:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Car fenye.aspx.cs" Inherits="Car__fenye" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
#idd {
font-weight:bold;
background-color:navy;
color:black;
text-align:center;
}
.cla {
font-weight:bold;
background-color:white;
color:green;
text-align:center;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table width="100%" border="1" cellpadding="5" cellspacing="1" id="idd">
<tr>
<td width="5%">代号</td>
<td width="20%">名称</td>
<td width="10%">型号</td>
<td width="25%">时间</td>
<td width="10%">油耗</td>
<td width="10%">功率</td>
<td width="10%">排量</td>
<td width="10%">单价</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class="cla">
<td width="5%"><%# Eval("Code") %></td>
<td width="20%"><%# Eval("Name") %></td>
<td width="10%"><%# Eval("Branda") %></td>
<td width="25%"><%# Eval("Timea") %></td>
<td width="10%"><%# Eval("Oila") %></td>
<td width="10%"><%# Eval("Powersa") %></td>
<td width="10%"><%# Eval("Exa") %></td>
<td width="10%"><%# Eval("Pricea") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>

</div>
<asp:Button ID="Showye" runat="server" OnClick="Showye_Click" Text="首页" />
<asp:Button ID="Shangye" runat="server" OnClick="Shangye_Click1" Text="上一页" />
<asp:Button ID="Nextye" runat="server" OnClick="Nextye_Click1" Text="下一页" />
<asp:Button ID="Weiye" runat="server" OnClick="Weiye_Click" Text="尾页" />
第<asp:DropDownList ID="ddlye" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlye_SelectedIndexChanged">
</asp:DropDownList>
页&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一共<asp:Label ID="zongye" runat="server" ForeColor="Red"></asp:Label>
页,现在在<asp:Label ID="xianye" runat="server" ForeColor="Red"></asp:Label>
页;<br />
<br />
AutoPostBack----当选定内容更改后,自动回发到服务器</form>
</body>
</html>

cs代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Car__fenye : System.Web.UI.Page
{
private const int pagesize=3;//每页有多少条数据
private CARSDataContext context = new CARSDataContext();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//Showcar();
Fillye();
YShu();

}
}

//private void Showcar()
//{
// var qu = context.Car;
// Repeater1.DataSource = qu;
// Repeater1.DataBind();
//}
public void Fillye()
{
int Tiaoshu=context.Car.Count();//数据库表中所有的数据的条数
int yeshu=(int)Math.Ceiling(1.0*Tiaoshu/pagesize);
//按照pagesize的大小,来进行分页,一页有pagesize条数据,分了yeshu个页
for (int i = 0; i < yeshu; i++)
{

ListItem li = new ListItem((i + 1).ToString(), i.ToString());
ddlye.Items.Add(li);
}//往dropdownlist中静态添加数据
}
public void YShu()
{
int dye = Convert.ToInt32(ddlye.SelectedValue);//所在的页数-1
int shutiao = dye * pagesize;//前面的页数一共有多少条数据
var qu = context.Car.Skip(shutiao).Take(pagesize);//分页,skip取出前面的所有条数,显示这一页拥有的条数
Repeater1.DataSource = qu;
Repeater1.DataBind();

zongye.Text = ddlye.Items.Count.ToString();//一共多少页
xianye.Text = (ddlye.SelectedIndex+1).ToString();//现在在第几页
//Response.Write(dye);
//int aaa = ddlye.SelectedIndex;
//Response.Write(aaa);
}
protected void ddlye_SelectedIndexChanged(object sender, EventArgs e)
{
YShu();
}
protected void Showye_Click(object sender, EventArgs e)
{
ddlye.SelectedIndex = 0;
YShu();
}
protected void Weiye_Click(object sender, EventArgs e)
{
ddlye.SelectedIndex = ddlye.Items.Count - 1;
YShu();
}

protected void Nextye_Click1(object sender, EventArgs e)
{
if (ddlye.SelectedIndex < ddlye.Items.Count - 1)
{
ddlye.SelectedIndex++;
YShu();
}
}
protected void Shangye_Click1(object sender, EventArgs e)
{
if (ddlye.SelectedIndex > 0)
{
ddlye.SelectedIndex--;
YShu();
}
}
}

//select top 9 Code from Car;
//select top 3 * from Car where Code not in(select top 9 Code from Car);

//select ceiling(1.0*COUNT(*)/3) from Car;

时间: 2024-10-13 14:51:44

C#--Web数据分页的相关文章

大数据分页实现与性能优化

摘要:Web 应用程序中经常使用数据分页技术,该技术是提高海量数据访问性能的主要手段.实现web数据分页有多种方案,本文通过实际项目的测试,对多种数据分页方案深入分析和比较,找到了一种更优的数据分页方案Row_number()二分法.它依靠二分思想,将整个待查询记录分为2部分,使扫描的记录量减少一半,进而还通过对数据表及查询条件进行优化,实现了存储过程的优化.根据Row_number()函数的特性,该方案不依赖于主键或者数字字段,大大提高了它在实际项目中的应用,使大数据的分页效率得到了更显著的提

SqlSever大数据分页

在sql sever中大数据的分页一直是难以处理的一块,利用id自增列分页也存在不足之处.从一个相对全面的分页看,sql sever2005中新增的row_number()函数解决了这个问题.还是从一个实际项目开始介绍吧.中国铁建股份公司的项目表中数据很大,开发之初用的是GridView控件自带的分页,在运行一年以后,点击下一页终于是难以等待了,系统需要优化.对于分页的改进是业务的需要.于是,我采用了Row_number()函数分页.也算一解了燃眉之急. 说明:该篇文章只是一个案例的说明,更详细

大数据分页解决方案

1 编写目的 解决系统需要检索大数据列表时的性能问题,而提出的分页方案 2 术语.定义和缩略语 3 大数据量检索的性能问题分析 大数据量检索的性能存在问题,问题主要包括 3.1 客户端在IE或者cs端数据量过大会导致IE变慢,甚至死锁 现象: IE浏览器崩溃 浏览器白板,停止响应 3.2 客户端--web服务器之间的数据传输量大会导致客户端速度变慢,效率降低 现象: IE浏览器长期在等待时白板 IE 浏览器操作慢 3.3 中间层构造大数据列表会导致中间层性能降低 现象: 并发访问多时,应用服务器

PHP从零单排(十四)数据分页显示的原理及实现

分页显示是WEB编程中最频繁处理的环节之一.所谓分页显示,就是通过程序将结果集一段一段的来显示.实现分页显示,需要两个初始参数:每页显示多少记录和当前是第几页.再加上完整的结果集,就可以实现数据的分页显示.至于其他功能,比如上一页.下一页等均可以根据以上信息加以处理得到. 要取得某表中的前10条记录,可以使用如下SQL语句: SELECT * FROM a_table LIMIT 0,10 要查找第11到第20条记录,使用的SQL语句如下所示: SELECT * FROM a_table LIM

SqlSever大数据分页【转】

2014-09-26 08:53:42 [文章出处:http://www.cnblogs.com/wlandwl/archive/2014/09/25/bigpage.html] 在sql sever中大数据的分页一直是难以处理的一块,利用id自增列分页也存在不足之处.从一个相对全面的分页看,sql sever2005中新增的row_number()函数解决了这个问题.还是从一个实际项目开始介绍吧.中国铁建股份公司的项目表中数据很大,开发之初用的是GridView控件自带的分页,在运行一年以后,

ThinkPHP高速实现数据分页(前端/后端分离)

数据 分页 可能是web 编程里最经常使用到的功能之中的一个.thinkphp 实现分页功能十分简洁. 仅仅须要定义 几个參数 就能搞定.当然,扩展也是十分方便的. 让我们如今就開始thinkphp的分页实现吧. 1:首先.我们得创建一个用于分页測试的数据库 test. sql代码 例如以下. 复制PHP 内容到剪贴板PHP代码: CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL auto_increment, `name` char(10

详解ASP.NET MVC数据分页

ASP.NET MVC框架已经进入2.0时代,本文将从ASP.NET MVC数据分页谈起,希望能对大家有所帮助. 在网页上进行表格资料或其他显示资料的分页是一种十分常见的需求,以前我们有 GridView 或 DataPager 可以帮我们自动分页,虽然到了 ASP.NET MVC 一切全部重头来过,但我们也不用真的那麽辛苦的自己实做分页,因为早就有人帮我们写好程式并开放原始码分享给这个世界了. 如果你已经体会到在 ASP.NET MVC 中妥善利用强型别(Strong Typed)特性进行开发

ASP.NET MVC 数据分页思想及解决方案代码

作为一个程序猿,数据分页是每个人都会遇到的问题.解决方案更是琳琅满目,花样百出.但基本的思想都是差不多的. 下面给大家分享一个简单的分页器,让初学者了解一下最简单的分页思想,以及在ASP.NET MVC中的简单实现与应用. 一,定义分页器类 在ASP.NET MVC中,分页的数据源可能是各种不同的类型,所以最好使用泛型来定义. public class PagingHelper<T> 二,基本三要素 实现分页人所共知的三个基本属性: DataSource:数据源,要知道数据源共计多少条数据,会

ThinkPHP快速实现数据分页(前端/后端分离)

数据 分页 可能是web 编程里最常用到的功能之一.thinkphp 实现分页功能十分简洁.只需要定义 几个参数 就能搞定.当然,扩展也是十分方便的. 让我们现在就开始thinkphp的分页实现吧. 1:首先,我们得创建一个用于分页测试的数据库 test.sql代码 如下. 复制PHP 内容到剪贴板PHP代码: CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL auto_increment, `name` char(100) NOT NUL