前端界面:

当前第【<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. c++友元函数

    c++友元函数分两类: 一://友员全居函数 /*#include <iostream>using namespace std;class aaa{    friend void prin ...

  2. Linux中可用于管道操作的命令总结

    在Linux中药进行稍复杂的操作,通常需要借助管道命令"|"多个命令的组合,形式如下: command 1 |  command 2 |  command 3 -- 在linux中 ...

  3. <table>标签隐藏内边框与外边框

    属性名称                属性值                        说明 frame                    void               不显示表格的 ...

  4. Android中使用Handler造成内存泄露的分析和解决

    什么是内存泄露?Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收.也就是说,一个对象不被任何引用所指向 ...

  5. Android仿“守望先锋”加载动画

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 效果图 实现思路 画一个小六边形 按效果图位置画七个小六边形 实现一个小六边形的显示与隐藏 ...

  6. iOS 开发:利用第三方插件来安装CoCoapods

    引言:通过上一篇博客我们知道了怎么样去通过终端来安装CoCoapods,这一篇我们着重与用第三方插件来安装CoCoapods: 1. 首先在提下链接下载插件 https://github.com/ka ...

  7. 安装freetds小记

    FreeTDS的软件获取:在官网上进行下载:http://www.freetds.org/ 执行以下命令: ./configure --with-tdsver=7.1 --enable-msdblib ...

  8. Python实现冒泡排序

    array = [1,2,3,6,5,4] for i in range(len(array)): for j in range(i): if array[j] > array[j + 1]: ...

  9. 腾达和小云无线路由中继(WISP)解决

    记录一下: ============================================ A路由为主路由-接光纤 (小云智能路由) B路由为中继放大(腾达),B路由的电脑 有线连接,网卡设 ...

  10. CSS学习之道

    @media的IE-hacks,精彩绝伦 http://blog.keithclark.co.uk/moving-ie-specific-css-into-media-blocks/