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对象,可 ...
随机推荐
- BZOJ1095 [ZJOI2007]Hide 捉迷藏
动态树分治,用三个set分别维护每个重心到每一个子树的距离种类.每个重心所有子树的最大值和次大值.全局答案的最大值.复杂度O(nlogn^2) 代码 #include<cstdio> #i ...
- JVM内存结构---《深入理解Java虚拟机》学习总结
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域的用途各不相同,同时也依据着各自的执行规则,独立的创建和销毁数据. 虚拟机内存的划分,如图所示: 线程之间 ...
- mybatis教程
http://www.yihaomen.com/article/java/302.htm
- Struts2相关面试题
Struts2面试题 1.struts2工作流程 Struts 2框架本身大致可以分为3个部分: 核心控制器FilterDispatcher.业务控制器Action和用户实现的企业业务逻辑组件. 核心 ...
- leetcode 上的Counting Bits 总结
最近准备刷 leetcode 做到了一个关于位运算的题记下方法 int cunt = 0; while(temp) { temp = temp&(temp - 1); //把二进制最左边那 ...
- 接口测试第十二课(fidller过滤)(转)
转自: 经常有人问我,如何只抓手机上某个应用的请求包?在使用fiddler抓手机包的过程中,fiddler会话框上瞬间就满屏了,因为它不仅抓到手机上的请求数据包,也抓到了PC端的网络请求包.这时候很难 ...
- Prince2七大主题之风险
Prince2七大主题之风险 我们前几个节学习了PRINCE2七大主题的商业论证.组织.质量和计划,今天我们开展对于风险模块的讲解. 风险:目的是识别.评估和控制不确定性,从而提高项目的成功率.P ...
- php如何在某个时间上加一天?一小时? 时间加减
<?php date_default_timezone_set('PRC'); //默认时区 echo "今天:",date("Y-m-d",time() ...
- IOS 截取图片 部分 并生成新图片
/** * 从图片中按指定的位置大小截取图片的一部分 * * @param image UIImage image 原始的图片 * @param rect CGRect rect 要截取的区域 * * ...
- js 获取url参数的值
//获取url参数函数function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +" ...