三层架构下AspNetPager分页实现

首先是建一张表:

CREATE TABLE [dbo].[UserInfo] (

[uId]          INT           IDENTITY (1, 1) NOT NULL,

[uName]        NVARCHAR (50) NULL,

[uPassWord]    NVARCHAR (50) NULL,

[uEmail]       NVARCHAR (50) NULL,

[uPic]         NVARCHAR (50) NULL,

PRIMARY KEY CLUSTERED ([uId] ASC)

);

然后写存储过程:

第一个是分页的存储过程:

create procedure  [dbo].[GetPagedOrders]

@startIndex int,

@endIndex int

AS

with SClass as(                   //SClass 是一个临时表

select row_number() over(order by [uId]) as row,

[uId],uName,uPassWord,uEmail,uPic

from UserInfo )

select  [uId],uName,uPassWord,uEmail,uPic

from SClass

where row between @startIndex and @endIndex

return 0

接下来写一个获取数据数量的存储过程:

create procedure  [dbo].[GetOrderNumber]

AS

select count(*) from UserInfo

RETURN 0

好,接下来下DAL层的DBHelper.cs

/// <summary>

/// 执行带参数的查询SQL语句或存储过程

/// </summary>

/// <param name="cmdText">查询SQL语句或存储过程</param>

/// <param name="paras">参数集合</param>

/// <param name="ct">命令类型</param>

/// <returns></returns>

public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct)

{

DataTable dt = new DataTable();

cmd = new SqlCommand(cmdText, GetConn());

cmd.CommandType = ct;

cmd.Parameters.AddRange(paras);

using (sdr = cmd.ExecuteReader

(CommandBehavior.CloseConnection))

{

dt.Load(sdr);

}

return dt;

}

public  object ExecuteScalar(string cmdText,CommandType ct)

{

cmd = new SqlCommand(cmdText, GetConn());

cmd.CommandType = ct;

object val = cmd.ExecuteScalar();

return val;

}

DAL层的UserInfoDao.cs:

private DBHelper db = null;

public UserInfoDao()

{

db = new DBHelper();

}

public DataTable Bind(string cmdText, int startIndex, int endIndex)

{

DataTable dt = new DataTable();

SqlParameter[] paras = new SqlParameter[]{

new SqlParameter("@startIndex",startIndex),

new SqlParameter("@endIndex",endIndex)

};

dt = db.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure);

return dt;

}

public int getExecuteScalar(string cmdText)

{

int order = (int)db.ExecuteScalar(cmdText, CommandType.StoredProcedure);

return order;

}

接下来是BLL层的UserInfoManager.cs:

private UserInfoDao udao = null;

public UserInfoManager()

{

udao = new UserInfoDao();

}

public DataTable Bind(string cmdText, int startIndex, int endIndex)

{

return udao.Bind(cmdText, startIndex, endIndex);

}

public int getExecuteScalar(string cmdText)

{

return udao.getExecuteScalar(cmdText);

}

最后就是在页面调用了:

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

Bind();

}

}

private void Bind()

{

int totalOrders = new UserInfoManager().getExecuteScalar("GetOrderNumber");

AspNetPager1.RecordCount = totalOrders;

Repeater1.DataSource = new
UserInfoManager().Bind("GetPagedOrders", AspNetPager1.StartRecordIndex,
AspNetPager1.EndRecordIndex);

Repeater1.DataBind();

}

protected void AspNetPager1_PageChanged(object sender, EventArgs e)

{

Bind();

}

三层架构下AspNetPager分页实现

时间: 2024-10-10 06:59:20

三层架构下AspNetPager分页实现的相关文章

MVC项目实践,在三层架构下实现SportsStore-04,实现分页

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第四篇,包括: ■ 7.添加分页 7.添加分页 关于分页,是一系列的a标签,可以通过扩展HtmlHelper

MVC项目实践,在三层架构下实现SportsStore-02,DbSession层、BLL层

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第二篇,包括: ■ 4.三层架构设计    □ 4.2 创建DbSession层 数据访问层的统一入口   

MVC项目实践,在三层架构下实现SportsStore-01

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第一篇,包括: ■ 1.搭建项目■ 2.卸载Entity Framework组件,并安装最新版本■ 3.使用

MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等

http://www.cnblogs.com/darrenji/p/3809219.html 本篇为系列第一篇,包括: ■ 1.搭建项目■ 2.卸载Entity Framework组件,并安装最新版本■ 3.使用EF Code First创建领域模型和EF上下文■ 4.三层架构设计    □ 4.1 创建DAL层        ※ 4.1.1 MySportsStore.IDAL详解        ※ 4.1.2 MySportsStore.DAL详解 1.搭建项目 MySportsStore.

MVC项目实践,在三层架构下实现SportsStore-03,Ninject控制器工厂等

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第三篇,包括: ■ 5.自定义Ninject控制器工厂■ 6.项目的第一次运行 5.自定义Ninject控制

MVC项目实践,在三层架构下实现SportsStore-08,部署到IIS服务器

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第八篇,包括: ■ 10.部署到IIS服务器    □ 10.1 使用Visual Studio发布   

MVC项目实践,在三层架构下实现SportsStore-05,实现导航

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第五篇,包括: ■ 8.导航 8.导航 创建NavController,派生于BaseController:

MVC项目实践,在三层架构下实现SportsStore-06,实现购物车

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第六篇,包括: ■ 8.购物车    □ 8.1 购物车模型 购物车帮助类    □ 8.2 添加"

MVC项目实践,在三层架构下实现SportsStore-07,实现订单提交

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第七篇,包括: ■ 9.实现订单提交 9.实现订单提交 首先在购物车显示页面Cart/Index.cshtm