webform分页
前端界面:
当前第【<asp:Label ID="Label_nowpage" runat="server" Text="Label"></asp:Label>】页  
共【<asp:Label ID="Label_maxpage" runat="server" Text="Label"></asp:Label>】页  
<asp:LinkButton ID="btn_first" runat="server">首页</asp:LinkButton>  
<asp:LinkButton ID="btn_prev" runat="server">上一页</asp:LinkButton>  
<asp:LinkButton ID="btn_next" runat="server">下一页</asp:LinkButton>  
<asp:LinkButton ID="btn_last" runat="server">末页</asp:LinkButton>  
<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分页的更多相关文章
- WebForm 分页、组合查询--2017年1月5日
sql = "select * from Commodity"; hs = new Hashtable(); if (txt_name.Text.Trim() != "& ...
- webform 分页、组合查询综合使用
界面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx ...
- WebForm 分页与组合查询
1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> ...
- webform 分页
界面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx ...
- WebForm分页浏览
1.封装类 //封装类 using System; using System.Collections.Generic; using System.Web; /// <summary> // ...
- 【Asp.Net WebFrom】分页
Asp.Net WebForm 分页 一. 前言 Asp.Net WebForm 内置的DataPager让人十分蛋疼 本文使用的分页控件是第三方分页控件 AspNetPager,下载地址: 链接: ...
- GirdView 追忆学生时代的百思不得解
临近年关,越多越多的园友开始了对工作.生活的总结,以及对来年目标的确立.这很励志,人是一根能思想的苇草,想来想去,我实在没什么惊天地.泣鬼神的英勇事迹,16年毕业季,按部就班的在时间的马车上颠簸,阅读 ...
- 自己写的一个Pager分页组件,WebForm,Mvc都适用
我一说写这个功能的时候,好多人估计有疑问.分页功能网上多的是,搜一个不就行了,你这样不是浪费时间么.你说这句话的时候,我是比较信的,首先自己写一些东西是很耗时,有这些时间又能多打几盘LOL了.但是我觉 ...
- WebForm Application Viewstate 以及分页(功能性的知识点)
Application: 全局公共变量组 存放位置:服务器 特点:所有访问用户都是访问同一个变量,但只要服务器不停机,变量一直存在于服务器的内存中,不要使用循环大量的创建Application对象,可 ...
随机推荐
- WPF中弹出文件夹浏览对话框
附一个共享目录正则表达式判断: bool result= System.Text.RegularExpressions.Regex.IsMatch("\\pc-test\share" ...
- poj 2376 Cleaning Shifts
http://poj.org/problem?id=2376 Cleaning Shifts Time Limit: 1000MS Memory Limit: 65536K Total Submi ...
- OpenCV整体的模块架构
之前啃了不少OpenCV的官方文档,发现如果了解了一些OpenCV整体的模块架构后,再重点学习自己感兴趣的部分的话,就会有一览众山小的感觉,于是,就决定写出这篇文章,作为启程OpenCV系列博文的第二 ...
- jmeter安装配置教程
1.下载Jmeter 下载地址:http://jmeter.apache.org/download_jmeter.cgi 目前最新版为3.1,其余文件如源代码等也可从如下官网下载: http://jm ...
- jQuery 菜单
- java三大框架
1定义 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰.可复用性好.维护方便的Web应用程序.其中使用Struts作为系统的整体基础 ...
- linux格式批量转换为dos格式
注:写的只是基本知识,望高手勿喷,写这个不是为了炫耀,只是为了方便其他人,仅此而已. 一:脚本功能: 批量处理目录以及子目录下的文件格式问题,能够轻易的将linux格式转换为dos格式. 二:写此博客 ...
- web前端浮动、清浮动问题
浮动的问题如下一一列举如有考虑不周的欢迎欢迎大家补充: 1.浮动,兼容性问题3px的问题,双边距的问题 在平时工作的过程中,解决3px的问题,一般都是初始化*{margin:0;padding:0px ...
- 用 正则表达式 限定XML simpleType 定义
<xsd:simpleType name="ResTrictions"> <xsd:restriction base="xsd:string" ...
- Hibernate之全面认识
Hibernate体系架构 Hibernate通过配置文件管理底层的JDBC连接,将用户从原始的JDBC释放出来,使得用户无需再关注底层的JDBC操作,而是以面向对象的方式进行持久化操作.这种全面的解 ...