ASP.NET Repeater以及分页控件AspNetPager
2017-12-05 14:52
726 查看
1.分页需要一个插件:AspNetPager.dll
2.需要一个PagedDataSource对象,设置分页属性。
前台WebForm1.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="UI.WebForm1" %>
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
<!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">
<div>
<asp:Repeater runat="server" ID="repeater">
<HeaderTemplate>
<table>
<tr>
<td>书籍名称</td>
<td>价格</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<a href="showDetail.aspx?ID=<%# Eval("id") %>"><%# Eval("title") %></a>
</td>
<td>
<%# Eval("price") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>
<div>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" BorderStyle="None" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" OnPageChanged="AspNetPager1_PageChanged" PageSize="4" PrevPageText="上一页"></webdiyer:AspNetPager>
</div>
</form>
</body>
</html>
后台WebForm1.aspx.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
using Model;
using System.Data;
namespace UI
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//第一次加载也调用这个函数
AspNetPager1_PageChanged(sender, e);
}
}
public void aspnetpager()
{
DataTable dt = UserBLL.selectAllbooks();
//设置数量为DataTable的行数
AspNetPager1.RecordCount = dt.Rows.Count;
//分页数据源对象
PagedDataSource pds = new PagedDataSource();
//分页设置为true
pds.AllowPaging = true;
//设置每一页的大小 (ASPNetPager1.PageSize在控件属性里面设置)
pds.PageSize = this.AspNetPager1.PageSize;
//当前页面索引是 aspnetpager控件页面索引-1,因为后者的CurrentPageIndex是1开始
pds.CurrentPageIndex = this.AspNetPager1.CurrentPageIndex - 1;
//设置PageDataSource的数据源(DataView)
pds.DataSource = dt.DefaultView;
//设置Repeater的数据源(是PageDataSource)
repeater.DataSource = pds;
//绑定数据
repeater.DataBind();
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
//当页面发生改变时,调用这个函数
aspnetpager();
}
}
}
UserBLL
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using DAL;
using Model;
namespace BLL
{
public class UserBLL
{
public static DataTable selectAllbooks()
{
return UserServer.selectAllBooks().Tables[0];
}
public static int addBook(bookinfo bi)
{
return Convert.ToInt32(UserServer.addBook(bi));
}
///根据id查找book
public static bookinfo selectbook(int id)
{
DataTable dt= UserServer.selectBook(id).Tables[0];
bookinfo bi = new bookinfo();
bi.Id = id;
bi.Title = dt.Rows[0][0].ToString();
bi.Decsript= dt.Rows[0][1].ToString();
bi.Booktype = dt.Rows[0][2].ToString();
return bi;
// bi.Price = dt.Rows[0][3]
}
//更新书籍信息
public static int updateBook(bookinfo bi)
{
return Convert.ToInt32(DAL.UserServer.updateBook(bi));
}
//删除书籍
public static int deleteByid(int id)
{
return Convert.ToInt32(DAL.UserServer.deleteByid(id));
}
}
}
UserServer
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using Model;
namespace DAL
{
public class UserServer
{
public static DataSet selectAllBooks()
{
string sql = " select * from bookinfo order by id desc";
return SQLHELPER.ExecuteDataSet(sql);
}
public static object addBook(bookinfo bi)
{
return SQLHELPER.ExecuteNonQuery(" insert into bookinfo (title,descript,booktype,price)values('" + bi.Title + "','" + bi.Decsript + "','" + bi.Booktype + "',' "+ bi.Price+"')");
}
//根据id查找book
public static DataSet selectBook(int id)
{
return SQLHELPER.ExecuteDataSet(" select [title],[descript],[booktype],[price] from bookinfo where id='" + id + "'");
}
//更新书籍信息
public static object updateBook(bookinfo bi)
{
return SQLHELPER.ExecuteNonQuery(" update bookinfo set title='" + bi.Title + "',descript='" + bi.Decsript + "',booktype='" + bi.Booktype+ "',price='" + bi.Price+"' where id='" + bi.Id+"'");
}
//删除书籍
public static object deleteByid(int id)
{
return SQLHELPER.ExecuteNonQuery(" delete from bookinfo where id='" + id + "'");
}
}
}
2.需要一个PagedDataSource对象,设置分页属性。
前台WebForm1.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="UI.WebForm1" %>
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
<!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">
<div>
<asp:Repeater runat="server" ID="repeater">
<HeaderTemplate>
<table>
<tr>
<td>书籍名称</td>
<td>价格</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<a href="showDetail.aspx?ID=<%# Eval("id") %>"><%# Eval("title") %></a>
</td>
<td>
<%# Eval("price") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>
<div>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" BorderStyle="None" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" OnPageChanged="AspNetPager1_PageChanged" PageSize="4" PrevPageText="上一页"></webdiyer:AspNetPager>
</div>
</form>
</body>
</html>
后台WebForm1.aspx.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
using Model;
using System.Data;
namespace UI
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//第一次加载也调用这个函数
AspNetPager1_PageChanged(sender, e);
}
}
public void aspnetpager()
{
DataTable dt = UserBLL.selectAllbooks();
//设置数量为DataTable的行数
AspNetPager1.RecordCount = dt.Rows.Count;
//分页数据源对象
PagedDataSource pds = new PagedDataSource();
//分页设置为true
pds.AllowPaging = true;
//设置每一页的大小 (ASPNetPager1.PageSize在控件属性里面设置)
pds.PageSize = this.AspNetPager1.PageSize;
//当前页面索引是 aspnetpager控件页面索引-1,因为后者的CurrentPageIndex是1开始
pds.CurrentPageIndex = this.AspNetPager1.CurrentPageIndex - 1;
//设置PageDataSource的数据源(DataView)
pds.DataSource = dt.DefaultView;
//设置Repeater的数据源(是PageDataSource)
repeater.DataSource = pds;
//绑定数据
repeater.DataBind();
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
//当页面发生改变时,调用这个函数
aspnetpager();
}
}
}
UserBLL
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using DAL;
using Model;
namespace BLL
{
public class UserBLL
{
public static DataTable selectAllbooks()
{
return UserServer.selectAllBooks().Tables[0];
}
public static int addBook(bookinfo bi)
{
return Convert.ToInt32(UserServer.addBook(bi));
}
///根据id查找book
public static bookinfo selectbook(int id)
{
DataTable dt= UserServer.selectBook(id).Tables[0];
bookinfo bi = new bookinfo();
bi.Id = id;
bi.Title = dt.Rows[0][0].ToString();
bi.Decsript= dt.Rows[0][1].ToString();
bi.Booktype = dt.Rows[0][2].ToString();
return bi;
// bi.Price = dt.Rows[0][3]
}
//更新书籍信息
public static int updateBook(bookinfo bi)
{
return Convert.ToInt32(DAL.UserServer.updateBook(bi));
}
//删除书籍
public static int deleteByid(int id)
{
return Convert.ToInt32(DAL.UserServer.deleteByid(id));
}
}
}
UserServer
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using Model;
namespace DAL
{
public class UserServer
{
public static DataSet selectAllBooks()
{
string sql = " select * from bookinfo order by id desc";
return SQLHELPER.ExecuteDataSet(sql);
}
public static object addBook(bookinfo bi)
{
return SQLHELPER.ExecuteNonQuery(" insert into bookinfo (title,descript,booktype,price)values('" + bi.Title + "','" + bi.Decsript + "','" + bi.Booktype + "',' "+ bi.Price+"')");
}
//根据id查找book
public static DataSet selectBook(int id)
{
return SQLHELPER.ExecuteDataSet(" select [title],[descript],[booktype],[price] from bookinfo where id='" + id + "'");
}
//更新书籍信息
public static object updateBook(bookinfo bi)
{
return SQLHELPER.ExecuteNonQuery(" update bookinfo set title='" + bi.Title + "',descript='" + bi.Decsript + "',booktype='" + bi.Booktype+ "',price='" + bi.Price+"' where id='" + bi.Id+"'");
}
//删除书籍
public static object deleteByid(int id)
{
return SQLHELPER.ExecuteNonQuery(" delete from bookinfo where id='" + id + "'");
}
}
}
相关文章推荐
- asp.net下Repeater使用 AspNetPager分页控件
- asp.net下Repeater使用 AspNetPager分页控件 不用存储过程 完美实现
- PagedDataSource、Repeater以及AspNetPager在ASP.NET上分页。
- asp.net下Repeater使用 AspNetPager分页控件
- C#分页代码,或许这个代码比Asp.Net分页和AspNetPager控件更好用
- (转) .NET实现Repeater控件+AspNetPager控件分页
- ASP.NET使用AspNetPager控件实现真分页
- asp.net 一个页面放两个aspnetpager控件,同时分页时产生的问题
- ASP.NET中Repeater控件实现分页功能
- asp.net中使用分页控件,并绑定数据到GridView或Repeater
- Asp.Net分页方法:JQuery插件实现Ajax无刷新分页、AspNetPager分页控件实现分页
- ASP.NET中Repeater控件实现分页功能
- ASP.NET Repeater控件实现简单分页
- [原]ASP.NET(C#)Repeater分页控件(含源码)
- asp.net分页控件AspNetPager的样式美化
- asp.net repeater控件使用(自定义coulmn,分页)
- Asp.Net分页和AspNetPager控件的使用
- ASP.NET Repeater 控件分页
- asp.net分页控件AspNetPager的使用,使用传统分页和存储过程分页
- ASP.NET 2.0 Repeater控件分页例子