前端界面:

当前第【<asp:Label ID="Label_nowpage" runat="server" Text="Label"></asp:Label>】页&nbsp&nbsp
共【<asp:Label ID="Label_maxpage" runat="server" Text="Label"></asp:Label>】页&nbsp&nbsp
<asp:LinkButton ID="btn_first" runat="server">首页</asp:LinkButton>&nbsp&nbsp
<asp:LinkButton ID="btn_prev" runat="server">上一页</asp:LinkButton>&nbsp&nbsp
<asp:LinkButton ID="btn_next" runat="server">下一页</asp:LinkButton>&nbsp&nbsp
<asp:LinkButton ID="btn_last" runat="server">末页</asp:LinkButton>&nbsp&nbsp
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"></asp:DropDownList>
<asp:Button ID="Button1" runat="server" Text="跳转" />

实体类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; /// <summary>
/// goods 的摘要说明
/// </summary>
public class goods
{
public goods()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public int ids { get; set; }
public string goodsname { get; set; }
public string number { get; set; }
public string sprice { get; set; }
public DateTime intime { get; set; }
public string gtel { get; set; }
public string goodsbase { get; set; } }

数据访问类:

选择五条:

 public List<goods> select(int count,int nowpage)
{
List<goods> glist = new List<goods>();
cmd.CommandText = "select top "+count+"*from goods where ids not in(select top "+((nowpage-)*count)+" ids from goods)";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
goods g = new goods();
g.ids = Convert.ToInt32(dr[]);
g.goodsname = dr[].ToString();
g.number = dr[].ToString();
g.sprice = dr[].ToString();
g.intime = Convert.ToDateTime(dr[]);
g.gtel = dr[].ToString();
g.goodsbase = dr[].ToString(); glist.Add(g);
}
}
conn.Close();
return glist;
}

选择全部:

public List<goods> select()
{
List<goods> glist = new List<goods>();
cmd.CommandText = "select*from goods";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
goods g = new goods();
g.ids = Convert.ToInt32(dr[]);
g.goodsname = dr[].ToString();
g.number = dr[].ToString();
g.sprice = dr[].ToString();
g.intime = Convert.ToDateTime(dr[]);
g.gtel = dr[].ToString();
g.goodsbase = dr[].ToString(); glist.Add(g);
}
}
conn.Close();
return glist;
}

后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class Default2 : System.Web.UI.Page
{
int count = ;//每页显示条数
protected void Page_Load(object sender, EventArgs e)
{
//string ni = Session["a"].ToString();
//Label1.Text = ni + ",欢迎回来!";
if (!IsPostBack)
{
Label_nowpage.Text = "";
Label_maxpage.Text = maxpagenum().ToString();
Repeater1.DataSource = new goodsdata().select(count, );
Repeater1.DataBind();
btn_prev.Enabled = false; int max = maxpagenum();
for (int i = ; i <= max; i++)
{
DropDownList1.Items.Add(i.ToString());
} } DropDownList1.SelectedIndexChanged += Button1_Click;
btn_first.Click += btn_first_Click;//首页
btn_prev.Click += btn_prev_Click;//上一页
btn_next.Click += btn_next_Click;//下一页
btn_last.Click += btn_last_Click;//末页
Button1.Click += Button1_Click;
} void Button1_Click(object sender, EventArgs e)
{
//获取当前页,计算要看的下一页的页号
int pagenext = Convert.ToInt32(DropDownList1.SelectedValue); //按照获取的页数绑定相应的数据
Repeater1.DataSource = new goodsdata().select(count, pagenext);
Repeater1.DataBind();
//修改显示页数
Label_nowpage.Text = pagenext.ToString();
//判断是否禁用
if (pagenext == )
{
btn_prev.Enabled = false;
btn_next.Enabled = true;
}
if (pagenext == maxpagenum())
{
btn_prev.Enabled = true;
btn_next.Enabled = false;
} }
void btn_first_Click(object sender, EventArgs e)//跳转第一页
{
//按照获取的页数绑定相应的数据
Repeater1.DataSource = new goodsdata().select(count, );
Repeater1.DataBind();
//修改显示页数
Label_nowpage.Text = ""; btn_prev.Enabled = false;
btn_next.Enabled = true;
} void btn_prev_Click(object sender, EventArgs e)//跳转上一页
{
//获取当前页,计算要看的下一页的页号
int pagenext = Convert.ToInt32(Label_nowpage.Text) - ; //按照获取的页数绑定相应的数据
Repeater1.DataSource = new goodsdata().select(count, pagenext);
Repeater1.DataBind();
//修改显示页数
Label_nowpage.Text = pagenext.ToString();
//判断是否有下一页
if (pagenext<=)
{
btn_prev.Enabled = false;
}
//恢复下一页按钮的可用性
btn_next.Enabled = true;
} void btn_next_Click(object sender, EventArgs e)//跳转下一页
{
//获取当前页,计算要看的下一页的页号
int pagenext = Convert.ToInt32(Label_nowpage.Text) + ; //按照获取的页数绑定相应的数据
Repeater1.DataSource = new goodsdata().select(count,pagenext);
Repeater1.DataBind();
//修改显示页数
Label_nowpage.Text = pagenext.ToString();
//判断是否有下一页
if (pagenext >= maxpagenum())
{
btn_next.Enabled = false;
}
btn_prev.Enabled = true;
} void btn_last_Click(object sender, EventArgs e)//跳转尾页
{
//按照获取的页数绑定相应的数据
Repeater1.DataSource = new goodsdata().select(count, maxpagenum());
Repeater1.DataBind();
//修改显示页数
Label_nowpage.Text = maxpagenum().ToString(); btn_prev.Enabled = true;
btn_next.Enabled = false;
} public int maxpagenum()//计算最大页数的方法
{
List<goods> glist = new goodsdata().select(); int end = Convert.ToInt32(Math.Ceiling(glist.Count / (count * 1.0)));
return end;
}
}

webform分页的更多相关文章

  1. WebForm 分页、组合查询--2017年1月5日

    sql = "select * from Commodity"; hs = new Hashtable(); if (txt_name.Text.Trim() != "& ...

  2. webform 分页、组合查询综合使用

    界面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx ...

  3. WebForm 分页与组合查询

    1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> ...

  4. webform 分页

    界面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx ...

  5. WebForm分页浏览

    1.封装类 //封装类 using System; using System.Collections.Generic; using System.Web; /// <summary> // ...

  6. 【Asp.Net WebFrom】分页

    Asp.Net WebForm 分页 一. 前言 Asp.Net WebForm 内置的DataPager让人十分蛋疼 本文使用的分页控件是第三方分页控件 AspNetPager,下载地址: 链接: ...

  7. GirdView 追忆学生时代的百思不得解

    临近年关,越多越多的园友开始了对工作.生活的总结,以及对来年目标的确立.这很励志,人是一根能思想的苇草,想来想去,我实在没什么惊天地.泣鬼神的英勇事迹,16年毕业季,按部就班的在时间的马车上颠簸,阅读 ...

  8. 自己写的一个Pager分页组件,WebForm,Mvc都适用

    我一说写这个功能的时候,好多人估计有疑问.分页功能网上多的是,搜一个不就行了,你这样不是浪费时间么.你说这句话的时候,我是比较信的,首先自己写一些东西是很耗时,有这些时间又能多打几盘LOL了.但是我觉 ...

  9. WebForm Application Viewstate 以及分页(功能性的知识点)

    Application: 全局公共变量组 存放位置:服务器 特点:所有访问用户都是访问同一个变量,但只要服务器不停机,变量一直存在于服务器的内存中,不要使用循环大量的创建Application对象,可 ...

随机推荐

  1. Slackware Linux or FreeBSD 配置中文环境。

    配置中文环境. Slackware Linux 如果在控制面板的语言与地区选项中没有找到中文,那说明在安装系统选择软件的时候没有将国际语言支持包选上,可以从slackware的安装盘或ISO文件中提取 ...

  2. js隐式转换

    JavaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object.object是引用类型,其它的五种是基本类型或者是原始类型.我们可 ...

  3. getchar的利用

    /*以每行一个单词的形式打印其输入 */ getchar   putchar函数,是逐个打印和输入(逐个循环打印) #include <stdio.h> int main() { int ...

  4. jQuery实现按enter键登录

    <script> $(document).keydown(function (event) { if (event.keyCode == 13) { $("#btn_Login& ...

  5. GCC-4.6.3编译linux2.6.32.12内核出现“重复的成员‘page’”错误的解决方法

    使用gcc4.6.3编译linux2.6.32.12内核出现错误如下: In file included from drivers/net/igbvf/ethtool.c:36:0: drivers/ ...

  6. MapReduce 简介

    2. MapReduce 简介 MapReduce 实际上是分为两个过程 map 过程 : 数据的读取 reduce 过程 : 数据的计算 并行计算是一个非常复杂的过程, mapreduce是一个并行 ...

  7. 基于海明距离的加权平均值人职匹配模型(Sqlserver2014/16内存表实现)

    最近给某大学网站制作一个功能,需要给全校所有的学生提供就业单位发布职位的自动匹配,学生登陆就业网,就可以查看适合自己的职位,进而可以在线投递. 全校有几万名学生,注册企业发布的职位也有上万,如何在很短 ...

  8. Myeclipse中添加XFire插件支持

    自Myeclipse7.5后貌似默认不启用XFire插件的集成  本人今天使用Myeclipse10.6是发现没有XFire 自己捣鼓捣鼓 已经成功添加XFire 添加步骤 1.打开Myeclipse ...

  9. 关于MySQL相关的查看显示信息:

    关于MySQL相关的查看显示信息: 数据库范围: 一.查看所有的数据库:(仅仅是看数据库数量与名字) mysql> show databases; 二.查看某个数据库的创建信息:(主要看数据库的 ...

  10. maven nexus 私服的搭建学习

    之前对maven有过初步的了解与认识,自己也创建过项目使用其来管理,但都是非常粗浅的操作,今天在高人的指点下,也学着在自己的电脑上搭建一个maven私服,虽然技术难度也不高,但为了更深层次的提高,这些 ...