1.封装类
//封装类
using System;
using System.Collections.Generic;
using System.Web; /// <summary>
/// Users 的摘要说明
/// </summary>
public class Users
{ private string _UserName; public string UserName
{
get { return _UserName; }
set { _UserName = value; }
}
private string _Password; public string Password
{
get { return _Password; }
set { _Password = value; }
}
private string _NickName; public string NickName
{
get { return _NickName; }
set { _NickName = value; }
}
private bool _Sex; public bool Sex
{
get { return _Sex; }
set { _Sex = value; }
}
public string SecStr
{
get { return _Sex ? "男" : "女"; }
}
private DateTime _Birthday; public DateTime Birthday
{
get { return _Birthday; }
set { _Birthday = value; }
}
public string BirthdayStr
{
get { return _Birthday.ToString("yyyy年MM月dd日"); }
}
private string _Nation; public string Nation
{
get { return _Nation; }
set { _Nation = value; }
} }

2连接数据库,建立方法

using System;
using System.Collections.Generic;
using System.Web;
using System.Data.SqlClient; /// <summary>
/// UserData 的摘要说明
/// </summary>
public class UserData
{
SqlConnection cnn = null;
SqlCommand cmd = null; public UserData()
{
cnn = new SqlConnection("server=.;database=ren;User=sa;pwd=123");
cmd = cnn.CreateCommand();
}
/// <summary>
/// 查询数据库所有内容
/// </summary>
/// <returns>泛型集合</returns>
public List<Users> quan()
{
List<Users> ulist = new List<Users>();
cmd.CommandText = "select * from Users";
cnn.Open();
SqlDataReader ss = cmd.ExecuteReader();
while(ss.Read())
{
Users u = new Users();
u.UserName = ss[].ToString();
u.Password = ss[].ToString();
u.NickName = ss[].ToString();
u.Sex = Convert.ToBoolean(ss[]);
u.Birthday = Convert.ToDateTime(ss[]);
u.Nation = ss[].ToString();
ulist.Add(u);
}
cnn.Close();
return ulist;
}
/// <summary>
///
/// </summary>
/// <param name="dijiye">第几页</param>
/// <param name="perpagenum">每一页的数量</param>
/// <returns></returns>
public List<Users> select(int dijiye,int perpagenum)
{
List<Users> ulist = null;
cmd.CommandText = " select top " + perpagenum + " * from Users where UserName not in(select top " + (perpagenum*(dijiye - )) + " UserName from Users)";
cnn.Open();
SqlDataReader ss = cmd.ExecuteReader();
if (ss.HasRows)
{
ulist = new List<Users>();
while (ss.Read())
{
Users u = new Users();
u.UserName = ss[].ToString();
u.Password = ss[].ToString();
u.NickName = ss[].ToString();
u.Sex = Convert.ToBoolean(ss[]);
u.Birthday = Convert.ToDateTime(ss[]);
u.Nation = ss[].ToString();
ulist.Add(u);
}
}
cnn.Close();
return ulist;
}
/// <summary>
/// 根据SQl语句,查询符合条件的数据
/// </summary>
/// <param name="sql">SQl查询条件</param>
/// <returns></returns>
public List<Users> zuhe(string sql)
{
List<Users> ulist = new List<Users>();
cmd.CommandText =sql;
cnn.Open();
SqlDataReader ss = cmd.ExecuteReader();
while (ss.Read())
{
Users u = new Users();
u.UserName = ss[].ToString();
u.Password = ss[].ToString();
u.NickName = ss[].ToString();
u.Sex = Convert.ToBoolean(ss[]);
u.Birthday = Convert.ToDateTime(ss[]);
u.Nation = ss[].ToString();
ulist.Add(u);
}
cnn.Close();
return ulist;
} }

3.页面设置

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

<!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>
</head>
<body>
<form id="form1" runat="server">
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table style="background-color:blue; width:100%">
<tr style="background-color:yellow;">
<td>姓名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>生日</td>
<td>民族</td>
</tr> </HeaderTemplate>
<ItemTemplate>
<tr style="background-color:gray;">
<td><%#Eval("Username") %></td>
<td><%#Eval("Password") %></td>
<td><%#Eval("NickName") %></td>
<td><%#Eval("Sex") %></td>
<td><%#Eval("Birthday") %></td>
<td><%#Eval("Nation") %></td>
</tr> </ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate> </asp:Repeater>
当前第<asp:Label ID="dijiye" runat="server" Text="Label"></asp:Label>页,共<asp:Label ID="gongjiye" runat="server" Text="Label"></asp:Label>页 <asp:LinkButton ID="shangyiye" runat="server">上一页</asp:LinkButton>
<asp:LinkButton ID="xiayiye_button" runat="server">下一页</asp:LinkButton>&nbsp&nbsp跳转到<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server"></asp:DropDownList>页
</form>
</body>
</html>

4、设置事件

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class Default1 : System.Web.UI.Page
{
int pagecount = ;//规定每页的数量
protected void Page_Load(object sender, EventArgs e)
{
gongjiye.Text = maxpage().ToString();
//gongjiye.Text = new UserData().select(1, pagecount).Count.ToString();
shangyiye.Click += shangyiye_Click;//上一页的点击事件
xiayiye_button.Click += xiayiye_button_Click;//下一页点击事件
DropDownList1.SelectedIndexChanged += DropDownList1_SelectedIndexChanged;//索引变化事件
if (!IsPostBack)
{
Repeater1.DataSource = new UserData().select(,pagecount);//第一页显示
Repeater1.DataBind();
dijiye.Text = "";//页面开始运行就是第一页 for (int i = ; i <= maxpage(); i++)
{
DropDownList1.Items.Add(new ListItem(i.ToString(), i.ToString()));//跳转按钮DropDownList1的页数添加
} }
} void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)//索引变化事件
{
int n = int.Parse(DropDownList1.SelectedValue);//取出选中哪一页
Repeater1.DataSource = new UserData().select(n,pagecount);//显示所选页数的内容
Repeater1.DataBind();//数据绑定
dijiye.Text = n.ToString();
} void xiayiye_button_Click(object sender, EventArgs e)//下一页点击事件
{
int xia = int.Parse(dijiye.Text) + ;
if (xia > maxpage())//下一页如果大于最大页
{
return;
}
Repeater1.DataSource = new UserData().select(xia,pagecount);
Repeater1.DataBind();
dijiye.Text = xia.ToString(); } void shangyiye_Click(object sender, EventArgs e)//上一页的点击事件
{
int shang = int.Parse(dijiye.Text)-;
if (shang == )
{
return;
}
Repeater1.DataSource = new UserData().select(shang, pagecount);
Repeater1.DataBind();
dijiye.Text = shang.ToString(); } public int maxpage()//求最多有多少页
{
int i;
List<Users> ulist = new UserData().quan();
if (ulist == null)
{
i = ;
}
else
{
i = int.Parse(Math.Ceiling(ulist.Count/(pagecount*1.0)).ToString());
}
return i;
} }

总之:就是拼Sql查询语句:

每页5行数据

select top 5  * from Users where UserName not in(select top 0 UserName from Users);显示第一页信息

select top 5  * from Users where UserName not in(select top 5 UserName from Users);显示第二页信息

以此类推。。。。。。。

select top " + perpagenum + " * from Users where UserName not in(select top " + (perpagenum*(dijiye - 1)) + " UserName from Users)

完!!!

.

WebForm分页浏览的更多相关文章

  1. PHP搜索MYSQL数据库加分页浏览小结

    PHP搜索加分页浏览小结: 1 分页后再做搜索 2 这里对于url的拼接,以及模糊查询,搜索时候的显示添加,SQL语句的拼接 3 对于页面传递过来的超级链接的变量,如果不存在就要设置,对于可能抛出异常 ...

  2. iOS- UIScrollView、UIPageControl分页浏览图片

    1.先介绍下UIScrollView的常见属性 @property(nonatomic) CGPoint contentOffset; // 记录UIScrollView滚动的位置 @property ...

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

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

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

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

  5. WebForm 分页与组合查询

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

  6. Android: 分页浏览的利器 android View Pager

    最近有一个项目需求,水平滑动实现视图切换(分页显示效果) 最先想到的是ImageSwitcher + ViewFilpper 来实现,这效果做出来我自己都不想用,更不用说客户的感觉了:滑动效果生硬,只 ...

  7. 解决分页浏览后搜索无数据的问题(VUE+element-ui)

    开发过程中发现了:浏览到第二页后.对数据进行查询时,后台返回的数据是空.原因是:当前页码为第二页.所以向后台发送请求的pageNumber=2,当pageNumber=1时.就可以查询到数据了. 所以 ...

  8. webform 分页

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

  9. webform分页

    前端界面: 当前第[<asp:Label ID="Label_nowpage" runat="server" Text="Label" ...

随机推荐

  1. vs2010打包系统必备选择.net framework 3.5sp1编译错误的解决方法

    利用visual studio 2010进行打包程序,默认安装的是Framework 4.0,如果需要将3.5sp1打包到系统中一起安装(选择了"从与我的应用程序相同的位置下载系统必备组件& ...

  2. PHP isset()与empty()的使用区别详解

    通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言.庞大的函数库支持着PHP语言功能的实现.下面我们为大家介绍有关PHP函数isset()与empty()的相关用法.   PHP的is ...

  3. ASP.NET状态管理策略

    如果要想把信息存储在客户端那可以选择视图状态.控件状态.隐藏字段.cookie.和查询字符串. 1.web窗体页提供viewstate属性作为内置结构,在同一页的多个请求间自动保留值.他作为页面的隐藏 ...

  4. mysql长连接和短连接的问题 转

    什么是长连接? 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态. 通常的短连接操作步骤是: 连接->数据传输->关闭连接: 而长连接通常就是: 连接-> ...

  5. NOIP200505谁拿了最多的奖学金

    NOIP200505谁拿了最多的奖学金 Description 某校的惯例是在每学期的期末考试之后发放奖学金.发放的奖学金共有五种,获取的条件各自不同: 1)      院士奖学金,每人8000元,期 ...

  6. UINavigationController详解一(转)UIBarButtonItem

    本文出自:http://www.cnblogs.com/smileEvday/archive/2012/05/14/2495153.html 特别感谢. 1.UINavigationControlle ...

  7. ORA-000845 与 /dev/shm(tempfs)

    MEMORY_TARGET参数在Oracle 11g被引进,主要是用于控制Oracle对于系统内存的使用,首次将SGA与PGA整合到一起实现自动管理.一旦设置了MEMORY_TARGET参数值,Ora ...

  8. python PIL安装

    PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,但API却非常简单易用. 安装PIL 在Debian/Ubuntu Linux ...

  9. source insight技巧

    (1)在Source Insight中能不能设置永久Bookmark 可以从macro方面入手 (2)source insight中添加.S文件 (3)source insight里面怎么能不让它每次 ...

  10. Microsoft Office 2013 Product Key

    Microsoft Office 2013 Product Key ( Professional Plus ) PGD67-JN23K-JGVWW-KTHP4-GXR9G B9GN2-DXXQC-9D ...