三层架构+ajax分页实例,ASP.NET存储过程实现分页效果(三层架构)

本文实例为大家分享了ASP.NET存储过程实现分页的具体代码,供大家参考,具体内容如下

实现效果:

文本框内输入跳转的页数,点击GO会跳转到该页

8bc3145d24b612620fc046981117b848.png

首先在项目下加入BLL,DAL,DataAccess,MODEL类库

1、前台界面

$(function () {

$('#txtPageindex').focus(function () {

$(this).val("");

})

})

DataFormatString="{0:yyyy-MM-dd hh:mm:ss}" HeaderText="创建时间" />

第一页

ID="btnPre" runat="server" οnclick="btnPre_Click">上一页

runat="server" οnclick="btnNext_Click">下一页

最后一页

ID="txtPageindex" runat="server">

Go

2、后台代码

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data;

namespace 分页

{

public partial class 原始刷新分页 : System.Web.UI.Page

{

int pagesize = 10;

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

ViewState["pageindex"] = 1;

GetLastPageindex();

LoadData();

}

}

private void GetLastPageindex()

{

BLL.T_News1 bnews = new BLL.T_News1();

int totalcount = bnews.GetRecordCount("");

if (totalcount % pagesize == 0)

{

ViewState["lastpageindex"] = totalcount / pagesize;

}

else { ViewState["lastpageindex"] = totalcount / pagesize+1; }

}

private void LoadData()

{

BLL.T_News1 bnews = new BLL.T_News1();

DataTable dt = bnews.GetListDataTable(pagesize,Convert.ToInt32(ViewState["pageindex"]));

this.GridView1.DataSource = dt;

this.GridView1.DataBind();

}

protected void btnFirst_Click(object sender, EventArgs e)

{

ViewState["pageindex"] = 1;

LoadData();

}

protected void btnPre_Click(object sender, EventArgs e)

{

int pageindex = Convert.ToInt32(ViewState["pageindex"]);

if (pageindex > 1)

{

pageindex--;

ViewState["pageindex"] = pageindex;

LoadData();

}

}

protected void btnNext_Click(object sender, EventArgs e)

{

int pageindex = Convert.ToInt32(ViewState["pageindex"]);

if (pageindex < Convert.ToInt32(ViewState["lastpageindex"]))

{

pageindex++;

ViewState["pageindex"] = pageindex;

LoadData();

}

}

protected void btnLast_Click(object sender, EventArgs e)

{

ViewState["pageindex"] = ViewState["lastpageindex"];

LoadData();

}

protected void LinkButton5_Click(object sender, EventArgs e)

{

int result;

if (int.TryParse(txtPageindex.Text, out result) == true)

{

ViewState["pageindex"] = txtPageindex.Text.Trim();

LoadData();

}

else { txtPageindex.Text = "请输入合法的数字"; }

}

}

}

3、数据库存储过程

declare @pagesize int;

declare @pageindex int;

SELECT * FROM (select ROW_NUMBER() over(order by Id) as rownumber,* from T_News1)T

WHERE rownumber>(@pageindex-1)*@pagesize AND rownumber<=@pagesize*@pageindex

GO

CREATE PROC pro_fenye

@pagesize int,

@pageindex int

as

select * from(select ROW_NUMBER() over(order by Id) as rownumber,* from T_News1)T

WHERE rownumber>(@pageindex-1)*@pagesize AND rownumber<=@pageindex*@pagesize

GO

exec pro_fenye 2,5

以上就是本文的全部内容,希望对大家的学习有所帮助。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值